import { ExtractPropTypes, PropType, CSSProperties, DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
import { countdownValueType, Formatter } from './utils';
import { VueNode } from '../_util/type';
export declare const countdownProps: () => {
    value: {
        type: PropType<countdownValueType>;
        default: countdownValueType;
    };
    format: StringConstructor;
    onFinish: PropType<() => void>;
    onChange: PropType<(value?: countdownValueType) => void>;
    prefixCls: StringConstructor;
    decimalSeparator: StringConstructor;
    groupSeparator: StringConstructor;
    valueStyle: {
        type: PropType< CSSProperties>;
        default: CSSProperties;
    };
    valueRender: {
        type: PropType<(node: VueNode) => VueNode>;
        default: (node: VueNode) => VueNode;
    };
    formatter: {
        default: Formatter;
        type: PropType< Formatter>;
    };
    precision: NumberConstructor;
    prefix: {
        type: PropType< VueNode>;
    };
    suffix: {
        type: PropType< VueNode>;
    };
    title: {
        type: PropType< VueNode>;
    };
    loading: {
        type: BooleanConstructor;
        default: boolean;
    };
};
export type CountdownProps = Partial<ExtractPropTypes<ReturnType<typeof countdownProps>>>;
declare const _default: DefineComponent<ExtractPropTypes<{
    value: {
        type: PropType<countdownValueType>;
        default: countdownValueType;
    };
    format: StringConstructor;
    onFinish: PropType<() => void>;
    onChange: PropType<(value?: countdownValueType) => void>;
    prefixCls: StringConstructor;
    decimalSeparator: StringConstructor;
    groupSeparator: StringConstructor;
    valueStyle: {
        type: PropType< CSSProperties>;
        default: CSSProperties;
    };
    valueRender: {
        type: PropType<(node: VueNode) => VueNode>;
        default: (node: VueNode) => VueNode;
    };
    formatter: {
        default: Formatter;
        type: PropType< Formatter>;
    };
    precision: NumberConstructor;
    prefix: {
        type: PropType< VueNode>;
    };
    suffix: {
        type: PropType< VueNode>;
    };
    title: {
        type: PropType< VueNode>;
    };
    loading: {
        type: BooleanConstructor;
        default: boolean;
    };
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<{
    value: {
        type: PropType<countdownValueType>;
        default: countdownValueType;
    };
    format: StringConstructor;
    onFinish: PropType<() => void>;
    onChange: PropType<(value?: countdownValueType) => void>;
    prefixCls: StringConstructor;
    decimalSeparator: StringConstructor;
    groupSeparator: StringConstructor;
    valueStyle: {
        type: PropType< CSSProperties>;
        default: CSSProperties;
    };
    valueRender: {
        type: PropType<(node: VueNode) => VueNode>;
        default: (node: VueNode) => VueNode;
    };
    formatter: {
        default: Formatter;
        type: PropType< Formatter>;
    };
    precision: NumberConstructor;
    prefix: {
        type: PropType< VueNode>;
    };
    suffix: {
        type: PropType< VueNode>;
    };
    title: {
        type: PropType< VueNode>;
    };
    loading: {
        type: BooleanConstructor;
        default: boolean;
    };
}>> & Readonly<{}>, {
    value: countdownValueType;
    loading: boolean;
    formatter: Formatter;
    valueStyle: CSSProperties;
    valueRender: (node: VueNode) => VueNode;
}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
export default _default;
