import type { ButtonProps } from 'primevue';
import { ButtonColor, ButtonVariant, ComponentSize } from '../../enums';
declare const primevueSizeMap: {
    xs: string;
    sm: string;
    md: string;
};
declare const iconButtonSizeMap: {
    xs: string;
    sm: string;
    md: string;
};
interface WtButtonProps extends /* @vue-ignore */ ButtonProps {
    color?: ButtonColor;
    disabled?: boolean;
    loading?: boolean;
    size?: ComponentSize;
    wide?: boolean;
    widthByContent?: boolean;
    icon?: string;
    iconPrefix?: string;
    variant?: ButtonVariant;
}
declare const emit: (event: "click", ...args: any[]) => void;
declare const attrs: {
    [x: string]: unknown;
};
declare const showLoader: import("vue").Ref<boolean, boolean>;
declare const loaderColor: import("vue").ComputedRef<string>;
declare const __VLS_ctx: InstanceType<__VLS_PickNotAny<typeof __VLS_self, new () => {}>>;
declare var __VLS_14: {};
type __VLS_Slots = __VLS_PrettifyGlobal<__VLS_OmitStringIndex<typeof __VLS_ctx.$slots> & {
    default?: (props: typeof __VLS_14) => any;
}>;
declare const __VLS_self: import("vue").DefineComponent<WtButtonProps, {
    primevueSizeMap: typeof primevueSizeMap;
    iconButtonSizeMap: typeof iconButtonSizeMap;
    emit: typeof emit;
    attrs: typeof attrs;
    showLoader: typeof showLoader;
    loaderColor: typeof loaderColor;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    click: (...args: any[]) => void;
}, string, import("vue").PublicProps, Readonly<WtButtonProps> & Readonly<{
    onClick?: (...args: any[]) => any;
}>, {
    disabled: boolean;
    size: ComponentSize;
    color: ButtonColor;
    icon: string;
    wide: boolean;
    loading: boolean;
    widthByContent: boolean;
    iconPrefix: string;
    variant: ButtonVariant;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
declare const __VLS_component: import("vue").DefineComponent<WtButtonProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    click: (...args: any[]) => void;
}, string, import("vue").PublicProps, Readonly<WtButtonProps> & Readonly<{
    onClick?: (...args: any[]) => any;
}>, {
    disabled: boolean;
    size: ComponentSize;
    color: ButtonColor;
    icon: string;
    wide: boolean;
    loading: boolean;
    widthByContent: boolean;
    iconPrefix: string;
    variant: ButtonVariant;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
export default _default;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
