interface Options {
    name: string;
    /** is computed reactive function */
    computed: boolean;
    /** is lazy computed, only computed reactive have this option */
    lazy: boolean;
    /** deps */
    deps: Function[];
    /** trigger callback synchronously */
    immediately: boolean;
}
export declare class Reaction {
    name: string;
    runner: Function;
    computed: boolean;
    lazy: boolean;
    deps: Function[];
    immediately: boolean;
    unsubscribeHandler?: () => void;
    constructor(name: string, runner: Function, computed: boolean, lazy: boolean, deps: Function[], immediately: boolean);
    dispose(): void;
}
export declare function createReaction(func: Function, options?: Partial<Options>): Reaction;
export declare function reactive(func: Function, options?: Partial<Pick<Options, 'name' | 'deps' | 'immediately'>>): Reaction;
export {};
