import { ExtractPropTypes, PropType } from 'vue';
import { MouseEventHandler } from '../_util/EventInterface';
import { BadgeProps } from '../badge';
import { VueTypeValidableDef } from 'vue-types';
export type FloatButtonType = 'default' | 'primary';
export type FloatButtonShape = 'circle' | 'square';
export type FloatButtonGroupTrigger = 'click' | 'hover';
export type FloatButtonBadgeProps = Omit<BadgeProps, 'status' | 'text' | 'title' | 'children'>;
export declare const floatButtonProps: () => {
    prefixCls: StringConstructor;
    description: VueTypeValidableDef<any>;
    type: {
        type: PropType<FloatButtonType>;
        default: FloatButtonType;
    };
    shape: {
        type: PropType<FloatButtonShape>;
        default: FloatButtonShape;
    };
    tooltip: VueTypeValidableDef<any>;
    href: StringConstructor;
    target: StringConstructor;
    badge: {
        type: PropType<FloatButtonBadgeProps>;
        default: FloatButtonBadgeProps;
    };
    onClick: {
        type: PropType<MouseEventHandler>;
        default: MouseEventHandler;
    };
};
export type FloatButtonProps = Partial<ExtractPropTypes<ReturnType<typeof floatButtonProps>>>;
export declare const floatButtonContentProps: () => {
    prefixCls: {
        type: PropType<string | undefined>;
        default: string | undefined;
    };
};
export type FloatButtonContentProps = Partial<ExtractPropTypes<ReturnType<typeof floatButtonContentProps>>>;
export declare const floatButtonGroupProps: () => {
    trigger: {
        type: PropType<FloatButtonGroupTrigger>;
        default: FloatButtonGroupTrigger;
    };
    open: {
        type: BooleanConstructor;
        default: boolean;
    };
    onOpenChange: {
        type: PropType<(open: boolean) => void>;
        default: (open: boolean) => void;
    };
    'onUpdate:open': {
        type: PropType<(open: boolean) => void>;
        default: (open: boolean) => void;
    };
    prefixCls: StringConstructor;
    description: VueTypeValidableDef<any>;
    type: {
        type: PropType<FloatButtonType>;
        default: FloatButtonType;
    };
    shape: {
        type: PropType<FloatButtonShape>;
        default: FloatButtonShape;
    };
    tooltip: VueTypeValidableDef<any>;
    href: StringConstructor;
    target: StringConstructor;
    badge: {
        type: PropType<FloatButtonBadgeProps>;
        default: FloatButtonBadgeProps;
    };
    onClick: {
        type: PropType<MouseEventHandler>;
        default: MouseEventHandler;
    };
};
export type FloatButtonGroupProps = Partial<ExtractPropTypes<ReturnType<typeof floatButtonGroupProps>>>;
export declare const backTopProps: () => {
    prefixCls: StringConstructor;
    duration: NumberConstructor;
    target: {
        type: PropType<() => HTMLElement | Window | Document>;
        default: () => HTMLElement | Window | Document;
    };
    visibilityHeight: NumberConstructor;
    onClick: {
        type: PropType<MouseEventHandler>;
        default: MouseEventHandler;
    };
    description: VueTypeValidableDef<any>;
    type: {
        type: PropType<FloatButtonType>;
        default: FloatButtonType;
    };
    shape: {
        type: PropType<FloatButtonShape>;
        default: FloatButtonShape;
    };
    tooltip: VueTypeValidableDef<any>;
    href: StringConstructor;
    badge: {
        type: PropType<FloatButtonBadgeProps>;
        default: FloatButtonBadgeProps;
    };
};
export type BackTopProps = Partial<ExtractPropTypes<ReturnType<typeof backTopProps>>>;
