import { VNode } from "@virtualstate/fringe";
export declare type HookPair = [VNode, HookFn];
export declare type HookTriple = [...HookPair, HookChildrenFn];
export declare type HookFnReturn = VNode | HookPair | HookTriple;
export interface HookFn {
    (node: VNode): HookFnReturn | Promise<HookFnReturn>;
}
export interface HookChildrenFn {
    (node: VNode): AsyncIterable<VNode[]>;
}
export interface HookOptions {
    hook?: HookFn;
    hookChildren?: HookChildrenFn;
    depth?: number;
    mutate?: boolean;
}
export declare function Hook({ hook, depth, mutate, hookChildren, ...options }: HookOptions, node: VNode): Promise<VNode>;
//# sourceMappingURL=index.d.ts.map