import { type PropType } from 'vue';
export type SwitchStylesNames = 'root' | 'track' | 'trackLabel' | 'thumb' | 'input' | 'body' | 'labelWrapper' | 'label' | 'description' | 'error';
export declare const Switch: import("../..").WithBoxProps<{
    new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
        id: {
            type: StringConstructor;
            default: undefined;
        };
        label: {
            type: PropType<any>;
            default: undefined;
        };
        offLabel: {
            type: PropType<any>;
            default: undefined;
        };
        onLabel: {
            type: PropType<any>;
            default: undefined;
        };
        color: {
            type: StringConstructor;
            default: undefined;
        };
        size: {
            type: PropType<string | number>;
            default: string;
        };
        radius: {
            type: PropType<string | number>;
            default: string;
        };
        wrapperProps: {
            type: PropType<Record<string, any>>;
            default: undefined;
        };
        thumbIcon: {
            type: PropType<any>;
            default: undefined;
        };
        labelPosition: {
            type: PropType<"left" | "right">;
            default: string;
        };
        description: {
            type: PropType<any>;
            default: undefined;
        };
        error: {
            type: PropType<any>;
            default: undefined;
        };
        rootRef: {
            type: PropType<any>;
            default: undefined;
        };
        withThumbIndicator: {
            type: BooleanConstructor;
            default: boolean;
        };
        checked: {
            type: BooleanConstructor;
            default: undefined;
        };
        defaultChecked: {
            type: BooleanConstructor;
            default: undefined;
        };
        onChange: {
            type: PropType<(event: Event) => void>;
            default: undefined;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        variant: {
            type: StringConstructor;
            default: undefined;
        };
        mod: {
            type: PropType<any>;
            default: undefined;
        };
        classNames: {
            type: (ObjectConstructor | FunctionConstructor)[];
            default: undefined;
        };
        styles: {
            type: (ObjectConstructor | FunctionConstructor)[];
            default: undefined;
        };
        vars: {
            type: (ObjectConstructor | FunctionConstructor)[];
            default: undefined;
        };
        unstyled: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>> & Readonly<{}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {
        size: string | number;
        radius: string | number;
        color: string;
        variant: string;
        error: any;
        onChange: (event: Event) => void;
        label: any;
        classNames: Function | Record<string, any>;
        styles: Function | Record<string, any>;
        description: any;
        disabled: boolean;
        mod: any;
        id: string;
        vars: Function | Record<string, any>;
        unstyled: boolean;
        labelPosition: "left" | "right";
        wrapperProps: Record<string, any>;
        rootRef: any;
        checked: boolean;
        defaultChecked: boolean;
        offLabel: any;
        onLabel: any;
        thumbIcon: any;
        withThumbIndicator: boolean;
    }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        id: {
            type: StringConstructor;
            default: undefined;
        };
        label: {
            type: PropType<any>;
            default: undefined;
        };
        offLabel: {
            type: PropType<any>;
            default: undefined;
        };
        onLabel: {
            type: PropType<any>;
            default: undefined;
        };
        color: {
            type: StringConstructor;
            default: undefined;
        };
        size: {
            type: PropType<string | number>;
            default: string;
        };
        radius: {
            type: PropType<string | number>;
            default: string;
        };
        wrapperProps: {
            type: PropType<Record<string, any>>;
            default: undefined;
        };
        thumbIcon: {
            type: PropType<any>;
            default: undefined;
        };
        labelPosition: {
            type: PropType<"left" | "right">;
            default: string;
        };
        description: {
            type: PropType<any>;
            default: undefined;
        };
        error: {
            type: PropType<any>;
            default: undefined;
        };
        rootRef: {
            type: PropType<any>;
            default: undefined;
        };
        withThumbIndicator: {
            type: BooleanConstructor;
            default: boolean;
        };
        checked: {
            type: BooleanConstructor;
            default: undefined;
        };
        defaultChecked: {
            type: BooleanConstructor;
            default: undefined;
        };
        onChange: {
            type: PropType<(event: Event) => void>;
            default: undefined;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        variant: {
            type: StringConstructor;
            default: undefined;
        };
        mod: {
            type: PropType<any>;
            default: undefined;
        };
        classNames: {
            type: (ObjectConstructor | FunctionConstructor)[];
            default: undefined;
        };
        styles: {
            type: (ObjectConstructor | FunctionConstructor)[];
            default: undefined;
        };
        vars: {
            type: (ObjectConstructor | FunctionConstructor)[];
            default: undefined;
        };
        unstyled: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>> & Readonly<{}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>, {}, {}, {}, {
        size: string | number;
        radius: string | number;
        color: string;
        variant: string;
        error: any;
        onChange: (event: Event) => void;
        label: any;
        classNames: Function | Record<string, any>;
        styles: Function | Record<string, any>;
        description: any;
        disabled: boolean;
        mod: any;
        id: string;
        vars: Function | Record<string, any>;
        unstyled: boolean;
        labelPosition: "left" | "right";
        wrapperProps: Record<string, any>;
        rootRef: any;
        checked: boolean;
        defaultChecked: boolean;
        offLabel: any;
        onLabel: any;
        thumbIcon: any;
        withThumbIndicator: boolean;
    }>;
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    id: {
        type: StringConstructor;
        default: undefined;
    };
    label: {
        type: PropType<any>;
        default: undefined;
    };
    offLabel: {
        type: PropType<any>;
        default: undefined;
    };
    onLabel: {
        type: PropType<any>;
        default: undefined;
    };
    color: {
        type: StringConstructor;
        default: undefined;
    };
    size: {
        type: PropType<string | number>;
        default: string;
    };
    radius: {
        type: PropType<string | number>;
        default: string;
    };
    wrapperProps: {
        type: PropType<Record<string, any>>;
        default: undefined;
    };
    thumbIcon: {
        type: PropType<any>;
        default: undefined;
    };
    labelPosition: {
        type: PropType<"left" | "right">;
        default: string;
    };
    description: {
        type: PropType<any>;
        default: undefined;
    };
    error: {
        type: PropType<any>;
        default: undefined;
    };
    rootRef: {
        type: PropType<any>;
        default: undefined;
    };
    withThumbIndicator: {
        type: BooleanConstructor;
        default: boolean;
    };
    checked: {
        type: BooleanConstructor;
        default: undefined;
    };
    defaultChecked: {
        type: BooleanConstructor;
        default: undefined;
    };
    onChange: {
        type: PropType<(event: Event) => void>;
        default: undefined;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    variant: {
        type: StringConstructor;
        default: undefined;
    };
    mod: {
        type: PropType<any>;
        default: undefined;
    };
    classNames: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    styles: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    vars: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    unstyled: {
        type: BooleanConstructor;
        default: boolean;
    };
}>> & Readonly<{}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
    size: string | number;
    radius: string | number;
    color: string;
    variant: string;
    error: any;
    onChange: (event: Event) => void;
    label: any;
    classNames: Function | Record<string, any>;
    styles: Function | Record<string, any>;
    description: any;
    disabled: boolean;
    mod: any;
    id: string;
    vars: Function | Record<string, any>;
    unstyled: boolean;
    labelPosition: "left" | "right";
    wrapperProps: Record<string, any>;
    rootRef: any;
    checked: boolean;
    defaultChecked: boolean;
    offLabel: any;
    onLabel: any;
    thumbIcon: any;
    withThumbIndicator: boolean;
}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & {
    classes: {
        [x: string]: string;
    };
    varsResolver: (theme: import("../..").MantineTheme, props: any, ctx: Record<string, any>) => Record<string, Record<string, string | undefined>>;
    Group: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        value: {
            type: PropType<string[] | undefined>;
            default: undefined;
        };
        defaultValue: {
            type: PropType<string[] | undefined>;
            default: undefined;
        };
        onChange: {
            type: PropType<(value: string[]) => void>;
            default: undefined;
        };
        size: {
            type: PropType<string | number>;
            default: undefined;
        };
        wrapperProps: {
            type: PropType<Record<string, any>>;
            default: undefined;
        };
        readOnly: {
            type: BooleanConstructor;
            default: boolean;
        };
        name: {
            type: StringConstructor;
            default: undefined;
        };
        hiddenInputProps: {
            type: PropType<Record<string, any>>;
            default: undefined;
        };
        hiddenInputValuesSeparator: {
            type: StringConstructor;
            default: string;
        };
        maxSelectedValues: {
            type: NumberConstructor;
            default: undefined;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        label: {
            type: PropType<any>;
            default: undefined;
        };
        description: {
            type: PropType<any>;
            default: undefined;
        };
        error: {
            type: PropType<any>;
            default: undefined;
        };
        classNames: {
            type: (ObjectConstructor | FunctionConstructor)[];
            default: undefined;
        };
        styles: {
            type: (ObjectConstructor | FunctionConstructor)[];
            default: undefined;
        };
        vars: {
            type: (ObjectConstructor | FunctionConstructor)[];
            default: undefined;
        };
        unstyled: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        value: {
            type: PropType<string[] | undefined>;
            default: undefined;
        };
        defaultValue: {
            type: PropType<string[] | undefined>;
            default: undefined;
        };
        onChange: {
            type: PropType<(value: string[]) => void>;
            default: undefined;
        };
        size: {
            type: PropType<string | number>;
            default: undefined;
        };
        wrapperProps: {
            type: PropType<Record<string, any>>;
            default: undefined;
        };
        readOnly: {
            type: BooleanConstructor;
            default: boolean;
        };
        name: {
            type: StringConstructor;
            default: undefined;
        };
        hiddenInputProps: {
            type: PropType<Record<string, any>>;
            default: undefined;
        };
        hiddenInputValuesSeparator: {
            type: StringConstructor;
            default: string;
        };
        maxSelectedValues: {
            type: NumberConstructor;
            default: undefined;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        label: {
            type: PropType<any>;
            default: undefined;
        };
        description: {
            type: PropType<any>;
            default: undefined;
        };
        error: {
            type: PropType<any>;
            default: undefined;
        };
        classNames: {
            type: (ObjectConstructor | FunctionConstructor)[];
            default: undefined;
        };
        styles: {
            type: (ObjectConstructor | FunctionConstructor)[];
            default: undefined;
        };
        vars: {
            type: (ObjectConstructor | FunctionConstructor)[];
            default: undefined;
        };
        unstyled: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>> & Readonly<{}>, {
        size: string | number;
        name: string;
        error: any;
        onChange: (value: string[]) => void;
        label: any;
        value: string[] | undefined;
        classNames: Function | Record<string, any>;
        styles: Function | Record<string, any>;
        description: any;
        disabled: boolean;
        defaultValue: string[] | undefined;
        vars: Function | Record<string, any>;
        unstyled: boolean;
        hiddenInputProps: Record<string, any>;
        wrapperProps: Record<string, any>;
        readOnly: boolean;
        hiddenInputValuesSeparator: string;
        maxSelectedValues: number;
    }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
}>;
