import type { ExtractPropTypes } from 'vue';
export declare const makeDelayProps: <Defaults extends {
    closeDelay?: unknown;
    openDelay?: unknown;
} = {}>(defaults?: Defaults | undefined) => {
    closeDelay: unknown extends Defaults["closeDelay"] ? (StringConstructor | NumberConstructor)[] : {
        type: import("vue").PropType<unknown extends Defaults["closeDelay"] ? string | number : NonNullable<string | number> | Defaults["closeDelay"]>;
        default: unknown extends Defaults["closeDelay"] ? string | number : NonNullable<string | number> | Defaults["closeDelay"];
    };
    openDelay: unknown extends Defaults["openDelay"] ? (StringConstructor | NumberConstructor)[] : {
        type: import("vue").PropType<unknown extends Defaults["openDelay"] ? string | number : NonNullable<string | number> | Defaults["openDelay"]>;
        default: unknown extends Defaults["openDelay"] ? string | number : NonNullable<string | number> | Defaults["openDelay"];
    };
};
export declare function useDelay(props: ExtractPropTypes<ReturnType<typeof makeDelayProps>>, cb?: (value: boolean) => void): {
    runCloseDelay: () => Promise<boolean>;
    runOpenDelay: () => Promise<boolean>;
};
