@rnaga/wp-node
Version:
👉 **[View Full Documentation at rnaga.github.io/wp-node →](https://rnaga.github.io/wp-node/)**
16 lines • 1.15 kB
TypeScript
import { EventEmitter } from "events";
import type * as types from "../../types";
export declare class Action<TActions = types.hooks.Actions> extends EventEmitter {
constructor();
getEventName(name: string | number | symbol): string;
addCommand<P>(command: types.hooks.CommandAction<P>, listener: (args: P) => void): () => void;
add<T extends keyof TActions>(name: T, listener: TActions[T] extends (...args: any) => any ? TActions[T] : never, options?: {
once?: boolean;
}): () => void;
addCommandOnce<P>(command: types.hooks.CommandAction<P>, listener: (args: P) => void): void;
addOnce<T extends keyof TActions>(name: T, listener: TActions[T] extends (...args: any) => any ? TActions[T] : never): void;
doCommand<P>(command: types.hooks.CommandAction<P>, ...args: Parameters<(args: P) => void>): void;
do<T extends keyof TActions>(name: T, ...args: Parameters<TActions[T] extends (...args: any) => any ? TActions[T] : never>): void;
remove<T extends keyof TActions>(name: T, listener: TActions[T] extends (...args: any) => any ? TActions[T] : never): void;
}
//# sourceMappingURL=action.d.ts.map