import { IInputProps, IValidationProps } from '../../composable';
import { PropType } from 'vue';
export declare const componentName = "CdsCheckbox";
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    theme: {
        type: PropType<import('../../composable').TTheme | string>;
        available: readonly ["cdsLight", "cdsDark", "b2bLight", "b2bDark", "promoLight", "promoDark"];
        default: undefined;
    };
    readonly: {
        type: PropType<boolean>;
        default: boolean;
    };
    disabled: {
        type: PropType<boolean>;
        default: boolean;
    };
    focused: {
        type: PropType<boolean>;
        default: boolean;
    };
    error: {
        type: PropType<boolean>;
        default: boolean;
    };
    errorMessages: {
        type: PropType<string | string[]>;
        default: () => never[];
    };
    maxErrors: {
        type: PropType<string | number>;
        default: number;
    };
    name: {
        type: PropType<string | undefined>;
        default: undefined;
    };
    rules: {
        type: PropType<import('../../composable').TValidationRule[]>;
        default: () => never[];
    };
    modelValue: {
        type: PropType<any>;
        default: null;
    };
    validateOn: {
        type: PropType<import('../../composable').TValidationOn>;
        default: string;
        available: readonly ["blur", "input", "submit"];
        validator: (value: import('../../composable').TValidationOn) => boolean;
    };
    validationValue: {
        type: PropType<any>;
        default: undefined;
    };
    hideMessages: {
        type: PropType<boolean>;
        default: boolean;
    };
    id: {
        type: PropType<string>;
        default: undefined;
    };
    label: {
        type: PropType<string>;
        default: undefined;
    };
    description: {
        type: PropType<string>;
        default: undefined;
    };
    value: {
        type: PropType<any>;
        default: null;
    };
    messages: {
        type: PropType<string[] | string>;
        default: () => never[];
    };
    persistentMessages: {
        type: PropType<boolean>;
        default: boolean;
    };
    /**
     * Промежуточное состояние
     */
    indeterminate: {
        type: PropType<boolean>;
        default: boolean;
    };
}>, {
    id: import('vue').ComputedRef<string>;
    model: import('vue').Ref<any, any> & {
        readonly externalValue: any;
    };
    hasDescription: import('vue').ComputedRef<boolean>;
    inputProps: import('vue').Ref<{
        [x: string]: unknown;
        id?: string | undefined;
        label?: string | undefined;
        description?: string | undefined;
        value?: any;
        messages?: string | string[] | undefined;
        persistentMessages?: boolean | undefined;
        disabled?: boolean | undefined;
        error?: boolean | undefined;
        errorMessages?: string | string[] | undefined;
        focused?: boolean | undefined;
        maxErrors?: string | number | undefined;
        name?: string | undefined;
        readonly?: boolean | undefined;
        rules?: (import('../../composable').TValidationResult | ((value: any) => import('../../composable').TValidationResult) | ((value: any) => PromiseLike<import('../../composable').TValidationResult>) | {
            then: <TResult1 = import('../../composable').TValidationResult, TResult2 = never>(onfulfilled?: ((value: import('../../composable').TValidationResult) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined) => PromiseLike<TResult1 | TResult2>;
        })[] | undefined;
        modelValue?: any;
        validateOn?: import('../../composable').TValidationOn | undefined;
        validationValue?: any;
        hideMessages?: boolean | undefined;
    }, Partial<IInputProps & IValidationProps & Record<string, unknown>> | {
        [x: string]: unknown;
        id?: string | undefined;
        label?: string | undefined;
        description?: string | undefined;
        value?: any;
        messages?: string | string[] | undefined;
        persistentMessages?: boolean | undefined;
        disabled?: boolean | undefined;
        error?: boolean | undefined;
        errorMessages?: string | string[] | undefined;
        focused?: boolean | undefined;
        maxErrors?: string | number | undefined;
        name?: string | undefined;
        readonly?: boolean | undefined;
        rules?: (import('../../composable').TValidationResult | ((value: any) => import('../../composable').TValidationResult) | ((value: any) => PromiseLike<import('../../composable').TValidationResult>) | {
            then: <TResult1 = import('../../composable').TValidationResult, TResult2 = never>(onfulfilled?: ((value: import('../../composable').TValidationResult) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined) => PromiseLike<TResult1 | TResult2>;
        })[] | undefined;
        modelValue?: any;
        validateOn?: import('../../composable').TValidationOn | undefined;
        validationValue?: any;
        hideMessages?: boolean | undefined;
    }>;
    rootAttrs: import('vue').Ref<{}, {}>;
    inputAttrs: import('vue').Ref<{}, {}>;
    isFocused: import('vue').Ref<boolean, boolean>;
    ariaChecked: import('vue').ComputedRef<any>;
    internalDisabled: import('vue').ComputedRef<boolean>;
    internalReadonly: import('vue').ComputedRef<boolean>;
    internalError: import('vue').ComputedRef<boolean>;
    isGroup: import('vue').Ref<boolean, boolean>;
    checkboxClasses: import('vue').ComputedRef<{
        'cds-checkbox--disabled': boolean;
        'cds-checkbox--checked': any;
        'cds-checkbox--indeterminate': boolean;
    }>;
    onBlur: () => void;
    onFocus: () => void;
    onInput: (event: Event) => void;
    onChange: () => void;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    /**
     * Событие при фокусе
     * @type { boolean }
     */
    'update:focused': (value: boolean) => true;
    /**
     * Событие при изменении значения (v-model)
     * @type { boolean }
     */
    'update:modelValue': (value: any) => true;
    /**
     * Событие при изменении промежуточного состояния
     * @type { boolean }
     */
    'update:indeterminate': (value: boolean) => true;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    theme: {
        type: PropType<import('../../composable').TTheme | string>;
        available: readonly ["cdsLight", "cdsDark", "b2bLight", "b2bDark", "promoLight", "promoDark"];
        default: undefined;
    };
    readonly: {
        type: PropType<boolean>;
        default: boolean;
    };
    disabled: {
        type: PropType<boolean>;
        default: boolean;
    };
    focused: {
        type: PropType<boolean>;
        default: boolean;
    };
    error: {
        type: PropType<boolean>;
        default: boolean;
    };
    errorMessages: {
        type: PropType<string | string[]>;
        default: () => never[];
    };
    maxErrors: {
        type: PropType<string | number>;
        default: number;
    };
    name: {
        type: PropType<string | undefined>;
        default: undefined;
    };
    rules: {
        type: PropType<import('../../composable').TValidationRule[]>;
        default: () => never[];
    };
    modelValue: {
        type: PropType<any>;
        default: null;
    };
    validateOn: {
        type: PropType<import('../../composable').TValidationOn>;
        default: string;
        available: readonly ["blur", "input", "submit"];
        validator: (value: import('../../composable').TValidationOn) => boolean;
    };
    validationValue: {
        type: PropType<any>;
        default: undefined;
    };
    hideMessages: {
        type: PropType<boolean>;
        default: boolean;
    };
    id: {
        type: PropType<string>;
        default: undefined;
    };
    label: {
        type: PropType<string>;
        default: undefined;
    };
    description: {
        type: PropType<string>;
        default: undefined;
    };
    value: {
        type: PropType<any>;
        default: null;
    };
    messages: {
        type: PropType<string[] | string>;
        default: () => never[];
    };
    persistentMessages: {
        type: PropType<boolean>;
        default: boolean;
    };
    /**
     * Промежуточное состояние
     */
    indeterminate: {
        type: PropType<boolean>;
        default: boolean;
    };
}>> & Readonly<{
    "onUpdate:modelValue"?: ((value: any) => any) | undefined;
    "onUpdate:focused"?: ((value: boolean) => any) | undefined;
    "onUpdate:indeterminate"?: ((value: boolean) => any) | undefined;
}>, {
    name: string | undefined;
    error: boolean;
    disabled: boolean;
    indeterminate: boolean;
    readonly: boolean;
    description: string;
    value: any;
    focused: boolean;
    id: string;
    label: string;
    messages: string | string[];
    persistentMessages: boolean;
    errorMessages: string | string[];
    maxErrors: string | number;
    rules: import('../../composable').TValidationRule[];
    modelValue: any;
    validateOn: "input" | "blur" | "submit";
    validationValue: any;
    hideMessages: boolean;
    theme: string;
}, {}, {
    CdsInput: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
        'onClick:prepend': PropType<import('../../utils').EventProp>;
        'onClick:append': PropType<import('../../utils').EventProp>;
        theme: {
            type: PropType<import('../../composable').TTheme | string>;
            available: readonly ["cdsLight", "cdsDark", "b2bLight", "b2bDark", "promoLight", "promoDark"];
            default: undefined;
        };
        size: {
            type: PropType<import('../../composable').TSize>;
            default: string;
            available: readonly ["xs", "sm", "md", "lg", "xl"];
            validator: (value: import('../../composable').TSize) => boolean;
        };
        readonly: {
            type: PropType<boolean>;
            default: boolean;
        };
        disabled: {
            type: PropType<boolean>;
            default: boolean;
        };
        focused: {
            type: PropType<boolean>;
            default: boolean;
        };
        error: {
            type: PropType<boolean>;
            default: boolean;
        };
        errorMessages: {
            type: PropType<string | string[]>;
            default: () => never[];
        };
        maxErrors: {
            type: PropType<string | number>;
            default: number;
        };
        name: {
            type: PropType<string | undefined>;
            default: undefined;
        };
        rules: {
            type: PropType<import('../../composable').TValidationRule[]>;
            default: () => never[];
        };
        modelValue: {
            type: PropType<any>;
            default: null;
        };
        validateOn: {
            type: PropType<import('../../composable').TValidationOn>;
            default: string;
            available: readonly ["blur", "input", "submit"];
            validator: (value: import('../../composable').TValidationOn) => boolean;
        };
        validationValue: {
            type: PropType<any>;
            default: undefined;
        };
        hideMessages: {
            type: PropType<boolean>;
            default: boolean;
        };
        prependIcon: {
            type: PropType<import('@central-design-system/icons').TCdsIconsName>;
            default: undefined;
            validator: (value: import('@central-design-system/icons').TCdsIconsName) => boolean;
        };
        appendIcon: {
            type: PropType<import('@central-design-system/icons').TCdsIconsName>;
            default: undefined;
            validator: (value: import('@central-design-system/icons').TCdsIconsName) => boolean;
        };
        id: {
            type: PropType<string>;
            default: undefined;
        };
        label: {
            type: PropType<string>;
            default: undefined;
        };
        description: {
            type: PropType<string>;
            default: undefined;
        };
        value: {
            type: PropType<any>;
            default: null;
        };
        messages: {
            type: PropType<string[] | string>;
            default: () => never[];
        };
        persistentMessages: {
            type: PropType<boolean>;
            default: boolean;
        };
    }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
        'update:modelValue': (value: any) => true;
        'click:control': (event: MouseEvent) => true;
        'mousedown:control': (event: MouseEvent) => true;
    }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
        'onClick:prepend': PropType<import('../../utils').EventProp>;
        'onClick:append': PropType<import('../../utils').EventProp>;
        theme: {
            type: PropType<import('../../composable').TTheme | string>;
            available: readonly ["cdsLight", "cdsDark", "b2bLight", "b2bDark", "promoLight", "promoDark"];
            default: undefined;
        };
        size: {
            type: PropType<import('../../composable').TSize>;
            default: string;
            available: readonly ["xs", "sm", "md", "lg", "xl"];
            validator: (value: import('../../composable').TSize) => boolean;
        };
        readonly: {
            type: PropType<boolean>;
            default: boolean;
        };
        disabled: {
            type: PropType<boolean>;
            default: boolean;
        };
        focused: {
            type: PropType<boolean>;
            default: boolean;
        };
        error: {
            type: PropType<boolean>;
            default: boolean;
        };
        errorMessages: {
            type: PropType<string | string[]>;
            default: () => never[];
        };
        maxErrors: {
            type: PropType<string | number>;
            default: number;
        };
        name: {
            type: PropType<string | undefined>;
            default: undefined;
        };
        rules: {
            type: PropType<import('../../composable').TValidationRule[]>;
            default: () => never[];
        };
        modelValue: {
            type: PropType<any>;
            default: null;
        };
        validateOn: {
            type: PropType<import('../../composable').TValidationOn>;
            default: string;
            available: readonly ["blur", "input", "submit"];
            validator: (value: import('../../composable').TValidationOn) => boolean;
        };
        validationValue: {
            type: PropType<any>;
            default: undefined;
        };
        hideMessages: {
            type: PropType<boolean>;
            default: boolean;
        };
        prependIcon: {
            type: PropType<import('@central-design-system/icons').TCdsIconsName>;
            default: undefined;
            validator: (value: import('@central-design-system/icons').TCdsIconsName) => boolean;
        };
        appendIcon: {
            type: PropType<import('@central-design-system/icons').TCdsIconsName>;
            default: undefined;
            validator: (value: import('@central-design-system/icons').TCdsIconsName) => boolean;
        };
        id: {
            type: PropType<string>;
            default: undefined;
        };
        label: {
            type: PropType<string>;
            default: undefined;
        };
        description: {
            type: PropType<string>;
            default: undefined;
        };
        value: {
            type: PropType<any>;
            default: null;
        };
        messages: {
            type: PropType<string[] | string>;
            default: () => never[];
        };
        persistentMessages: {
            type: PropType<boolean>;
            default: boolean;
        };
    }>> & Readonly<{
        "onUpdate:modelValue"?: ((value: any) => any) | undefined;
        "onClick:control"?: ((event: MouseEvent) => any) | undefined;
        "onMousedown:control"?: ((event: MouseEvent) => any) | undefined;
    }>, {
        name: string | undefined;
        size: "xs" | "sm" | "md" | "lg" | "xl";
        error: boolean;
        prependIcon: "link" | "search" | "bold" | "delete" | "add" | "administrator" | "ai" | "alert-fill" | "alert" | "analog" | "archive-fill" | "archive" | "arrow-down" | "arrow-left-bottom" | "arrow-left-top" | "arrow-left" | "arrow-right-bottom" | "arrow-right-top" | "arrow-right" | "arrow-up" | "arrows-vertical" | "bookmark-fill" | "bookmark" | "calendar" | "card-bank" | "category" | "check-fill" | "check" | "checkbox-fill" | "checkbox" | "chevron-down" | "chevron-left" | "chevron-right" | "chevron-up" | "chocholate-menu" | "chocolate-menu" | "clock-fill" | "clock" | "collapse" | "comment" | "company" | "compare" | "copy" | "data-cards" | "directory-open" | "directory" | "doc-download" | "doc" | "download" | "draggable" | "edit" | "education" | "enter" | "error-fill" | "error" | "expand" | "external" | "facebook-fill" | "facebook" | "fill" | "filters" | "flag" | "format" | "formula" | "funnel" | "globe" | "highlight" | "infinity" | "info-fill" | "info" | "insert" | "italic" | "list-search" | "list" | "loader" | "location" | "locked" | "login" | "logout" | "menu" | "minus" | "moon" | "notification" | "overflow-menu-horizontal" | "overflow-menu-vertical" | "password" | "pin" | "plus" | "printer" | "question-fill" | "question" | "refresh" | "remove" | "sandglass" | "save" | "scale-left" | "scale-right" | "settings" | "shopping-cart" | "sort-date" | "sorting-down" | "sorting-up" | "sorting" | "source" | "star-fill" | "star" | "sun" | "tab-backward" | "tab-forward" | "telegram" | "thumb-down-fill" | "thumb-down" | "thumb-up-fill" | "thumb-up" | "timer" | "tool" | "truck" | "underline" | "unlocked-left" | "unlocked" | "upload" | "user-avatar" | "user-group" | "visibility-off" | "visibility-on" | "vk" | "whatsapp" | "winner" | "workspace" | "youtube";
        appendIcon: "link" | "search" | "bold" | "delete" | "add" | "administrator" | "ai" | "alert-fill" | "alert" | "analog" | "archive-fill" | "archive" | "arrow-down" | "arrow-left-bottom" | "arrow-left-top" | "arrow-left" | "arrow-right-bottom" | "arrow-right-top" | "arrow-right" | "arrow-up" | "arrows-vertical" | "bookmark-fill" | "bookmark" | "calendar" | "card-bank" | "category" | "check-fill" | "check" | "checkbox-fill" | "checkbox" | "chevron-down" | "chevron-left" | "chevron-right" | "chevron-up" | "chocholate-menu" | "chocolate-menu" | "clock-fill" | "clock" | "collapse" | "comment" | "company" | "compare" | "copy" | "data-cards" | "directory-open" | "directory" | "doc-download" | "doc" | "download" | "draggable" | "edit" | "education" | "enter" | "error-fill" | "error" | "expand" | "external" | "facebook-fill" | "facebook" | "fill" | "filters" | "flag" | "format" | "formula" | "funnel" | "globe" | "highlight" | "infinity" | "info-fill" | "info" | "insert" | "italic" | "list-search" | "list" | "loader" | "location" | "locked" | "login" | "logout" | "menu" | "minus" | "moon" | "notification" | "overflow-menu-horizontal" | "overflow-menu-vertical" | "password" | "pin" | "plus" | "printer" | "question-fill" | "question" | "refresh" | "remove" | "sandglass" | "save" | "scale-left" | "scale-right" | "settings" | "shopping-cart" | "sort-date" | "sorting-down" | "sorting-up" | "sorting" | "source" | "star-fill" | "star" | "sun" | "tab-backward" | "tab-forward" | "telegram" | "thumb-down-fill" | "thumb-down" | "thumb-up-fill" | "thumb-up" | "timer" | "tool" | "truck" | "underline" | "unlocked-left" | "unlocked" | "upload" | "user-avatar" | "user-group" | "visibility-off" | "visibility-on" | "vk" | "whatsapp" | "winner" | "workspace" | "youtube";
        disabled: boolean;
        readonly: boolean;
        description: string;
        value: any;
        focused: boolean;
        id: string;
        label: string;
        messages: string | string[];
        persistentMessages: boolean;
        errorMessages: string | string[];
        maxErrors: string | number;
        rules: import('../../composable').TValidationRule[];
        modelValue: any;
        validateOn: "input" | "blur" | "submit";
        validationValue: any;
        hideMessages: boolean;
        theme: string;
    }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
    CdsInputLabel: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
        tag: Omit<{
            type: PropType<string>;
            default: string;
            description: string;
        }, "default" | "type"> & {
            type: PropType<string>;
            default: string;
        };
        disabled: {
            type: PropType<boolean>;
            default: boolean;
        };
        text: {
            type: PropType<string | number>;
            default: undefined;
        };
    }>, {
        disabledClasses: import('vue').ComputedRef<string | undefined>;
    }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
        tag: Omit<{
            type: PropType<string>;
            default: string;
            description: string;
        }, "default" | "type"> & {
            type: PropType<string>;
            default: string;
        };
        disabled: {
            type: PropType<boolean>;
            default: boolean;
        };
        text: {
            type: PropType<string | number>;
            default: undefined;
        };
    }>> & Readonly<{}>, {
        text: string | number;
        tag: string;
        disabled: boolean;
    }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
    CdsInputDescription: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
        tag: {
            type: PropType<string>;
            default: string;
            description: string;
        };
        text: {
            type: PropType<string | number>;
            default: undefined;
        };
    }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
        tag: {
            type: PropType<string>;
            default: string;
            description: string;
        };
        text: {
            type: PropType<string | number>;
            default: undefined;
        };
    }>> & Readonly<{}>, {
        text: string | number;
        tag: string;
    }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export default _default;
