import type { ExtractPublicPropTypes, PropType } from 'vue';
import { type ThemeComponent } from '../../composables/useTheme';
declare const loaderProps: {
    status: {
        type: PropType<LoaderStatus>;
        default: string;
    };
    icon: StringConstructor;
    label: StringConstructor;
    size: {
        readonly type: PropType<import("../../composables/useCommon").Size>;
        readonly default: "md";
        readonly validator: (value: string) => boolean;
    };
};
export type LoaderStatus = 'active' | 'success' | 'error';
export type LoaderProps = ExtractPublicPropTypes<typeof loaderProps>;
type InternalClasses = 'wrapper' | 'iconSuccess' | 'iconError' | 'label';
export interface LoaderTheme extends ThemeComponent<LoaderProps, InternalClasses> {
}
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    status: {
        type: PropType<LoaderStatus>;
        default: string;
    };
    icon: StringConstructor;
    label: StringConstructor;
    size: {
        readonly type: PropType<import("../../composables/useCommon").Size>;
        readonly default: "md";
        readonly validator: (value: string) => boolean;
    };
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    status: {
        type: PropType<LoaderStatus>;
        default: string;
    };
    icon: StringConstructor;
    label: StringConstructor;
    size: {
        readonly type: PropType<import("../../composables/useCommon").Size>;
        readonly default: "md";
        readonly validator: (value: string) => boolean;
    };
}>> & Readonly<{}>, {
    size: import("../../composables/useCommon").Size;
    status: LoaderStatus;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
