import { EventEmitter } from "../../stencil-public-runtime";
import { IcSwitchChangeEventDetail } from "./ic-switch.types";
import { IcSizesNoLarge, IcThemeMode } from "../../utils/types";
/**
 * @slot helper-text - Content is set as the helper text for the switch.
 * @slot right-adornment - Content is placed to the right of switch.
 */
export declare class Switch {
    private inputId;
    el: HTMLIcSwitchElement;
    checkedState: boolean;
    initiallyChecked: boolean | undefined;
    /**
     * If `true`, the switch will display as checked.
     */
    checked?: boolean;
    checkedChangeHandler(): void;
    /**
     * If `true`, the disabled state will be set.
     */
    disabled?: boolean;
    watchDisabledHandler(): void;
    /**
     * The helper text that will be displayed for additional field guidance.
     */
    helperText?: string;
    /**
     * If `true`, the label will be hidden and the required label value will be applied as an aria-label.
     */
    hideLabel?: boolean;
    /**
     * The aria-label applied to the switch when no visual 'name' is provided.
     */
    label: string;
    /**
     * The name of the control, which is submitted with the form data.
     */
    name?: string;
    /**
     * The size of the switch component.
     */
    size?: IcSizesNoLarge;
    /**
     * Sets the theme color to the dark or light theme color. "inherit" will set the color based on the system settings or ic-theme component.
     */
    theme?: IcThemeMode;
    /**
     * The value of the toggle does not mean if it's checked or not, use the `checked`
     * property for that.
     *
     * The value of a toggle is analogous to the value of a `<input type="checkbox">`,
     * it's only used when the toggle participates in a native `<form>`.
     */
    value?: string | null;
    /**
     * Emitted when the toggle loses focus.
     */
    icBlur: EventEmitter<void>;
    /**
     * Emitted when the value property has changed.
     */
    icChange: EventEmitter<IcSwitchChangeEventDetail>;
    /**
     * Emitted when the toggle has focus.
     */
    icFocus: EventEmitter<void>;
    disconnectedCallback(): void;
    componentWillLoad(): void;
    componentDidLoad(): void;
    /**
     * Sets focus on the switch.
     */
    setFocus(): Promise<void>;
    private handleChange;
    private onFocus;
    private onBlur;
    private handleFormReset;
    render(): any;
}
