UNPKG

burdy

Version:

Open Source Headless Platform

28 lines (27 loc) 1.64 kB
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;