import type { VueTypeDef, VueTypeValidableDef } from 'vue-types';
import type { DefineComponent, Ref, ComputedRef, ComponentOptionsMixin, VNodeProps, AllowedComponentProps, ComponentCustomProps } from 'vue';
declare const _default: DefineComponent<{
    control: VueTypeDef<string | number | boolean | unknown[] | {
        [key: string]: any;
    }> & {
        default: string | number | boolean | (() => unknown[]) | (() => {
            [key: string]: any;
        });
    };
    count: VueTypeValidableDef<number> & {
        default: number;
    };
    beforeStart: VueTypeValidableDef<(...args: any[]) => Promise<boolean>>;
}, {
    countRef: Ref<number>;
    isStarted: Ref<boolean>;
    getBtnTxt: ComputedRef<string>;
    loading: Ref<boolean>;
    handleClick: () => Promise<void>;
}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, Record<string, any>, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<{
    control?: unknown;
    count?: unknown;
    beforeStart?: unknown;
} & {
    control: string | number | boolean | unknown[] | {
        [key: string]: any;
    };
    count: number;
} & {
    beforeStart?: ((...args: any[]) => Promise<boolean>) | undefined;
}>, {
    control: string | number | boolean | unknown[] | {
        [key: string]: any;
    };
    count: number;
}>;
export default _default;
