import fastdomPromised from 'fastdom/extensions/fastdom-promised';
export declare const fastdom: {
    extend: <T extends object>(props: T) => { [P in Exclude<"clear", keyof T & keyof {
        clear<T_1 extends () => void>(task: T_1): boolean;
        extend<T extends object>(props: T): Pick & T;
        measure<T_2 extends () => void>(task: T_2, context?: any): T_2;
        mutate<T_3 extends () => void>(task: T_3, context?: any): T_3;
        catch: (e: unknown) => any;
    }> | Exclude<"extend", keyof T & keyof {
        clear<T_1 extends () => void>(task: T_1): boolean;
        extend<T extends object>(props: T): Pick & T;
        measure<T_2 extends () => void>(task: T_2, context?: any): T_2;
        mutate<T_3 extends () => void>(task: T_3, context?: any): T_3;
        catch: (e: unknown) => any;
    }> | Exclude<"measure", keyof T & keyof {
        clear<T_1 extends () => void>(task: T_1): boolean;
        extend<T extends object>(props: T): Pick & T;
        measure<T_2 extends () => void>(task: T_2, context?: any): T_2;
        mutate<T_3 extends () => void>(task: T_3, context?: any): T_3;
        catch: (e: unknown) => any;
    }> | Exclude<"mutate", keyof T & keyof {
        clear<T_1 extends () => void>(task: T_1): boolean;
        extend<T extends object>(props: T): Pick & T;
        measure<T_2 extends () => void>(task: T_2, context?: any): T_2;
        mutate<T_3 extends () => void>(task: T_3, context?: any): T_3;
        catch: (e: unknown) => any;
    }> | Exclude<"catch", keyof T & keyof {
        clear<T_1 extends () => void>(task: T_1): boolean;
        extend<T extends object>(props: T): Pick & T;
        measure<T_2 extends () => void>(task: T_2, context?: any): T_2;
        mutate<T_3 extends () => void>(task: T_3, context?: any): T_3;
        catch: (e: unknown) => any;
    }>]: {
        clear<T_1 extends () => void>(task: T_1): boolean;
        extend<T extends object>(props: T): Pick & T;
        measure<T_2 extends () => void>(task: T_2, context?: any): T_2;
        mutate<T_3 extends () => void>(task: T_3, context?: any): T_3;
        catch: (e: unknown) => any;
    }[P]; } & T;
    catch: (e: unknown) => any;
} & typeof fastdomPromised;
