import { VNode } from "@virtualstate/fringe";
import { MutationToken } from "./mutation";
import { ReferenceToken } from "./reference";
import { IsolatedToken } from "./isolated";
export declare type Target = MutationToken | ReferenceToken | IsolatedToken;
export declare function isTarget(node: VNode): node is Target;
export interface HookedTarget<T = Target> {
    target: T;
    depth: number;
}
export interface HookOptions {
    targets?: HookedTarget[];
    depth?: number;
    mutate?: boolean;
}
export declare type HookExtendedOptions = HookOptions;
export declare const HookExtended: typeof Hook;
export declare function Hook(options: HookOptions, child: VNode): VNode;
//# sourceMappingURL=hooks.d.ts.map