import { IconProperty } from '../../types';
import { InputHTMLAttributes, SyntheticEvent } from 'vue-tsx-support/types/dom';
export interface SwitchBaseProps {
    name?: string;
    value?: any;
    defaultChecked?: boolean;
    checked?: boolean;
    disabled?: boolean;
    color?: string;
    unCheckedColor?: string;
    checkedIcon?: IconProperty | null;
    unCheckedIcon?: IconProperty | null;
    indeterminate?: boolean;
    indeterminateIcon?: IconProperty | null;
    labelClickable?: boolean;
    attach?: any;
}
export declare const switchBaseProps: {
    readonly name: StringConstructor;
    readonly value: import("vue").PropOptions<any>;
    readonly defaultChecked: import("vue").PropOptions<boolean>;
    readonly checked: import("vue").PropOptions<boolean | undefined>;
    readonly disabled: import("vue").PropOptions<boolean | undefined>;
    readonly labelClickable: import("vue").PropOptions<boolean>;
    readonly color: import("vue").PropOptions<string>;
    readonly unCheckedColor: import("vue").PropOptions<string>;
    readonly checkedIcon: import("vue").PropOptions<IconProperty | null>;
    readonly unCheckedIcon: import("vue").PropOptions<IconProperty | null>;
    readonly indeterminate: import("vue").PropOptions<boolean>;
    readonly indeterminateIcon: import("vue").PropOptions<IconProperty | null>;
    readonly attach: import("vue").PropOptions<any>;
};
export declare const switchBaseOutsideProps: {
    readonly name: StringConstructor;
    readonly value: import("vue").PropOptions<any>;
    readonly defaultChecked: import("vue").PropOptions<boolean>;
    readonly checked: import("vue").PropOptions<boolean | undefined>;
    readonly disabled: import("vue").PropOptions<boolean | undefined>;
    readonly labelClickable: import("vue").PropOptions<boolean>;
    readonly color: import("vue").PropOptions<string>;
    readonly unCheckedColor: import("vue").PropOptions<string>;
    readonly checkedIcon: import("vue").PropOptions<IconProperty | null>;
    readonly unCheckedIcon: import("vue").PropOptions<IconProperty | null>;
    readonly indeterminate: import("vue").PropOptions<boolean>;
    readonly indeterminateIcon: import("vue").PropOptions<IconProperty | null>;
    readonly attach: import("vue").PropOptions<any>;
    readonly baseName: import("vue").PropOptions<string>;
    readonly role: import("vue").PropOptions<"checkbox" | "radio">;
};
export interface SwitchBaseOutsideProps extends SwitchBaseProps {
    baseName?: string;
    role?: 'radio' | 'checkbox';
}
export interface SwitchBaseScopedSlots {
    label?: {
        checked?: boolean;
        indeterminate: boolean;
        focus: boolean;
        disabled?: boolean;
    };
}
export interface SwitchBaseEvents {
    onBlur: SyntheticEvent<InputHTMLAttributes, FocusEvent>;
    onFocus: SyntheticEvent<InputHTMLAttributes, FocusEvent>;
    onChange: boolean;
}
export interface SwitchInnerProps {
    isFocused: boolean;
    tabIndex: number;
    handleInputChange: (e: SyntheticEvent<InputHTMLAttributes, Event>) => void;
    handleBlur: (e: Event) => void;
    handleFocus: (e: Event) => void;
}
declare const _default: import("vue-tsx-support")._TsxComponentV3<import("vue").default<Record<string, any>, Record<string, any>, never, never, (event: string, ...args: any[]) => import("vue").default<Record<string, any>, Record<string, any>, never, never, any>> & SwitchInnerProps & import("../../_utils/defineComponent").OhuComponentInnerProps & {
    isFocused: boolean;
} & {
    handleInputChange(e: SyntheticEvent<InputHTMLAttributes, Event>): void;
    handleBlur(e: SyntheticEvent<InputHTMLAttributes, FocusEvent>): void;
    handleFocus(e: SyntheticEvent<InputHTMLAttributes, FocusEvent>): void;
} & {
    tabIndex: 0 | -1;
} & {
    readonly name: string;
    readonly value: any;
    readonly defaultChecked: boolean;
    readonly checked: boolean | undefined;
    readonly disabled: boolean | undefined;
    readonly labelClickable: boolean;
    readonly color: string;
    readonly unCheckedColor: string;
    readonly checkedIcon: IconProperty | null;
    readonly unCheckedIcon: IconProperty | null;
    readonly indeterminate: boolean;
    readonly indeterminateIcon: IconProperty | null;
    readonly attach: any;
    readonly baseName: string;
    readonly role: "checkbox" | "radio";
}, {}, {} & {
    baseName?: string | undefined;
    name?: string | undefined;
    color?: string | undefined;
    role?: "checkbox" | "radio" | undefined;
    disabled?: boolean | undefined;
    value?: any;
    defaultChecked?: boolean | undefined;
    checked?: boolean | undefined;
    labelClickable?: boolean | undefined;
    unCheckedColor?: string | undefined;
    checkedIcon?: IconProperty | null | undefined;
    unCheckedIcon?: IconProperty | null | undefined;
    indeterminate?: boolean | undefined;
    indeterminateIcon?: IconProperty | null | undefined;
    attach?: any;
} & SwitchBaseOutsideProps, SwitchBaseEvents, {}, SwitchBaseScopedSlots>;
export default _default;
