import { StyleableIcon } from '../../types';
export type ButtonProps = {
    label?: string | number;
    icon?: StyleableIcon & {
        trailing?: boolean;
    };
    size?: 'small' | 'medium' | 'large';
    color?: 'primary' | 'color' | 'secondary' | 'tertiary' | 'destructive' | 'affirmative';
    shape?: 'rounded-rectangle' | 'rounded-square' | 'circle' | 'capsule';
    appearance?: 'plain' | 'gray' | 'outlined' | 'tinted' | 'filled' | 'flat';
    disabled?: boolean;
    translucent?: boolean;
};
declare var __VLS_14: {};
type __VLS_Slots = {} & {
    default?: (props: typeof __VLS_14) => any;
};
declare const __VLS_base: import('vue').DefineComponent<ButtonProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
    ref: (data: any) => any;
    click: (data: MouseEvent) => any;
}, string, import('vue').PublicProps, Readonly<ButtonProps> & Readonly<{
    onRef?: ((data: any) => any) | undefined;
    onClick?: ((data: MouseEvent) => any) | undefined;
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
declare const _default: typeof __VLS_export;
export default _default;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
