import { PropertyValueMap } from "lit";
import { FRoot } from "../../mixins/components/f-root/f-root";
import { FDiv } from "../f-div/f-div";
export type FSwitchState = "primary" | "default" | "success" | "warning" | "danger";
export type FSwitchCustomEvent = {
    value: boolean;
};
export declare class FSwitch extends FRoot {
    /**
     * css loaded from scss file
     */
    static styles: import("lit").CSSResult[];
    /**
     * @attribute Value of a switch defines if it is on or off.
     */
    value?: boolean;
    /**
     * @attribute States are used to communicate purpose and connotations.
     */
    state?: FSwitchState;
    /**
     * @attribute f-switch can have 2 sizes.
     */
    size?: "small" | "medium";
    /**
     * @attribute f-switch can have 2 sizes.
     */
    disabled?: boolean;
    switchSlots: FDiv;
    /**
     * @attribute assigned elements inside slot label
     */
    _labelNodes: NodeListOf<HTMLElement>;
    /**
     * @attribute assigned elements inside slot description
     */
    _subtitleNodes: NodeListOf<HTMLElement>;
    /**
     * @attribute assigned elements inside slot help
     */
    _iconTooltipNodes: NodeListOf<HTMLElement>;
    /**
     * has label slot
     */
    get hasLabel(): boolean;
    /**
     * has subtitle slot
     */
    get hasSubtitle(): boolean;
    /**
     * has icon-tooltip slot
     */
    get hasIconTooltip(): boolean;
    /**
     * emit event.
     */
    handleInput(e: InputEvent | KeyboardEvent): void;
    protected willUpdate(changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void;
    render(): import("lit-html").TemplateResult<1>;
    protected updated(changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void;
}
/**
 * Required for typescript
 */
declare global {
    interface HTMLElementTagNameMap {
        "f-switch": FSwitch;
    }
}
