import { RenderResult } from '@dojo/framework/core/interfaces';
interface SwitchProperties {
    /** Custom aria attributes */
    aria?: {
        [key: string]: string | null;
    };
    /** Whether the switch is disabled or clickable */
    disabled?: boolean;
    /** Whether the label is hidden or displayed */
    labelHidden?: boolean;
    /** The name attribute for the switch */
    name?: string;
    /** Handler for events triggered by switch losing focus */
    onBlur?(): void;
    /** Handler for events triggered by "on focus" */
    onFocus?(): void;
    /** Handler for events triggered by "on out" */
    onOut?(): void;
    /** Handler for events triggered by "on over" */
    onOver?(): void;
    /** Handler for when the value of the widget changes */
    onValue(checked: boolean): void;
    /** Makes the switch readonly (it may be focused but not changed) */
    readOnly?: boolean;
    /** Determines if this input is required, styles accordingly */
    required?: boolean;
    /** Toggles the invalid/valid states of the switch */
    valid?: boolean;
    /** The current value; checked state of the switch */
    value: boolean;
}
export interface SwitchChildren {
    /** The label to be displayed for the switch */
    label?: RenderResult;
    /** Label to show in the "off" position of the switch */
    offLabel?: RenderResult;
    /** Label to show in the "on" position of the switch */
    onLabel?: RenderResult;
}
declare const _default: import("@dojo/framework/core/interfaces").OptionalWNodeFactory<{
    properties: SwitchProperties & import("@dojo/framework/core/interfaces").WidgetProperties & {
        variant?: "default" | "inherit" | undefined;
    } & import("@dojo/framework/core/middleware/theme").ThemeProperties & import("@dojo/framework/core/interfaces").FocusProperties;
    children: SwitchChildren;
}>;
export default _default;
