import type { Ref } from 'vue';
import type { PrimitiveProps } from '../Primitive';
export interface SwitchRootProps extends PrimitiveProps {
    defaultChecked?: boolean;
    checked?: boolean;
    disabled?: boolean;
    required?: boolean;
    name?: string;
    id?: string;
    value?: string;
}
export type SwitchRootEmits = {
    'update:checked': [payload: boolean];
};
export interface SwitchRootContext {
    checked?: Ref<boolean>;
    toggleCheck: () => void;
    disabled: Ref<boolean>;
}
export declare const injectSwitchRootContext: <T extends SwitchRootContext | null | undefined = SwitchRootContext>(fallback?: T | undefined) => T extends null ? SwitchRootContext | null : SwitchRootContext, provideSwitchRootContext: (contextValue: SwitchRootContext) => SwitchRootContext;
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
    disabled: {
        type: import("vue").PropType<boolean>;
    };
    value: {
        type: import("vue").PropType<string>;
        default: string;
    };
    name: {
        type: import("vue").PropType<string>;
    };
    asChild: {
        type: import("vue").PropType<boolean>;
    };
    as: {
        type: import("vue").PropType<import('../Primitive').AsTag | import("vue").Component>;
        default: string;
    };
    id: {
        type: import("vue").PropType<string>;
    };
    required: {
        type: import("vue").PropType<boolean>;
    };
    checked: {
        type: import("vue").PropType<boolean>;
        default: undefined;
    };
    defaultChecked: {
        type: import("vue").PropType<boolean>;
    };
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    "update:checked": (payload: boolean) => void;
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    disabled: {
        type: import("vue").PropType<boolean>;
    };
    value: {
        type: import("vue").PropType<string>;
        default: string;
    };
    name: {
        type: import("vue").PropType<string>;
    };
    asChild: {
        type: import("vue").PropType<boolean>;
    };
    as: {
        type: import("vue").PropType<import('../Primitive').AsTag | import("vue").Component>;
        default: string;
    };
    id: {
        type: import("vue").PropType<string>;
    };
    required: {
        type: import("vue").PropType<boolean>;
    };
    checked: {
        type: import("vue").PropType<boolean>;
        default: undefined;
    };
    defaultChecked: {
        type: import("vue").PropType<boolean>;
    };
}>> & {
    "onUpdate:checked"?: ((payload: boolean) => any) | undefined;
}, {
    value: string;
    as: import('../Primitive').AsTag | import("vue").Component;
    checked: boolean;
}, {}>, {
    default?(_: {}): any;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
