/**
 * Zenith Client Runtime - Final Canonical Implementation
 * Satisfies strict reactivity requirements:
 * - Signals are functions (get/set)
 * - State is a Proxy
 * - Effects support cleanup/debounce
 * - Memos are computed signals
 * - Direct DOM updates via fine-grained reactivity
 */
export declare function zenSignal<T>(initialValue: T): {
    (newValue?: T): T;
    _isSignal: boolean;
    toString(): string;
    valueOf(): T;
};
export declare function zenState<T extends object>(initialObj: T): T;
export declare function zenEffect(fn: () => void | (() => void), options?: {
    debounce?: number;
    defer?: boolean;
}): () => void;
export declare function zenMemo<T>(fn: () => T): {
    (): T;
    _isSignal: boolean;
};
export declare function zenRef<T>(initial?: T): {
    current: NonNullable<T> | null;
};
export declare function zenBatch(fn: () => void): void;
export declare function zenUntrack<T>(fn: () => T): T;
export interface ComponentInstance {
    mountHooks: Array<() => void | (() => void)>;
}
export declare function setActiveInstance(inst: ComponentInstance | null): void;
export declare function zenOnMount(cb: any): void;
export declare function zenOnUnmount(cb: any): void;
export declare function triggerMount(inst: ComponentInstance): void;
export declare function h(tag: string, props: any, ...children: any[]): Element;
export declare function fragment(children: any): DocumentFragment;
export declare function zenLoop(sourceFn: () => any[], itemFn: (item: any, idx: number) => Node): DocumentFragment;
export declare function zenithHydrate(state: any, container?: Element | Document): void;
export declare function setup(): void;
