import type { VueComponent } from '@/types';
import { type ButtonProps as PrimeButtonProps } from 'primevue/button';
export type ButtonProps = {
    icon?: VueComponent;
    iconRight?: boolean | VueComponent;
    iconClass?: PrimeButtonProps['iconClass'];
    size?: PrimeButtonProps['size'];
    loadingIcon?: VueComponent;
    useCtx?: boolean;
} & /* @vue-ignore */ Omit<PrimeButtonProps, 'icon' | 'iconPos' | 'loadingIcon'>;
declare var __VLS_25: {};
type __VLS_Slots = {} & {
    default?: (props: typeof __VLS_25) => any;
};
declare const __VLS_base: import("vue").DefineComponent<ButtonProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ButtonProps> & Readonly<{}>, {}, {}, {}, {}, 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;
    };
};
