import type { AnyFunction, AnyFunctionMap } from 'apollo-server-types'; declare type Args = F extends (...args: infer A) => any ? A : never; declare type AsFunction = F extends AnyFunction ? F : never; declare type StripPromise = T extends Promise ? U : never; declare type DidEndHook = (...args: TArgs) => void; declare type AsyncDidEndHook = (...args: TArgs) => Promise; export declare class Dispatcher { protected targets: T[]; constructor(targets: T[]); private callTargets; hasHook(methodName: keyof T): boolean; invokeHook>>>(methodName: TMethodName, ...args: Args): Promise; invokeHooksUntilNonNull(methodName: TMethodName, ...args: Args): Promise>> | null>; invokeDidStartHook>>>>(methodName: TMethodName, ...args: Args): Promise>; invokeSyncDidStartHook>>>(methodName: TMethodName, ...args: Args): DidEndHook; } export {}; //# sourceMappingURL=dispatcher.d.ts.map