burdy
Version:
Open Source Headless Platform
28 lines (27 loc) • 1.64 kB
TypeScript
import { IHookAction, IHookActionFunction, IHookCache, IHookFilter, IHookFilterFunction, IHookFilterSync, IHookFilterSyncFunction } from '../interfaces/hooks';
interface HookOptions {
priority?: number;
id?: string;
}
declare const Hooks: {
addAction: <T extends keyof Burdy.IActions>(key: T, action: IHookActionFunction<Burdy.IActions[T]>, options?: Omit<HookOptions, 'priority'>) => void;
addFilter: <T_1 extends keyof Burdy.IFilters>(key: T_1, filter: IHookFilterFunction<Burdy.IFilters[T_1]>, options?: HookOptions) => void;
addSyncFilter: <T_2 extends keyof Burdy.ISyncFilters>(key: T_2, filterSync: IHookFilterSyncFunction, options?: HookOptions) => void;
removeAction: (key: keyof Burdy.IActions, id: string) => void;
removeFilter: (key: keyof Burdy.IFilters, id: string) => void;
hasAction: (key: keyof Burdy.IActions, id: string) => boolean;
hasFilter: (key: keyof Burdy.IFilters, id: string) => boolean;
doAction: <T_3 extends keyof Burdy.IActions>(key: T_3, ...args: Burdy.IActions[T_3]) => Promise<void>;
applyFilters: <T_4 extends keyof Burdy.IFilters>(key: T_4, ...args: Burdy.IFilters[T_4]) => Promise<Burdy.IFilters[T_4][0]>;
applySyncFilters: <T_5 extends keyof Burdy.ISyncFilters>(key: T_5, ...args: Burdy.ISyncFilters[T_5]) => Burdy.ISyncFilters[T_5][0];
getQueue: (type: keyof IHookCache) => {
[key: string]: IHookAction<any[]>[];
} | {
[key: string]: IHookFilter<any[]>[];
} | {
[key: string]: IHookFilterSync<any[]>[];
};
clearQueue: (type: keyof IHookCache) => void;
clearAllQueues: () => void;
};
export default Hooks;