import { Context } from "../context";
export interface IHookFunc {
    (ctx: Context, ...args: any[]): void;
}
export interface IHook extends IHookFunc {
    __name: string;
    isHook: boolean;
    private: boolean;
}
export declare type IHookOptions = string | {
    name: string;
    args?: any;
};
export declare function HOOK(options?: {
    private: boolean;
}): (target: any, key: string, descriptor: PropertyDescriptor) => void;
