import { EventEmitter } from "../../stencil-public-runtime";
import { IcAdditionalFieldTypes, IcSizes, IcThemeMode } from "../../utils/types";
/**
 * @slot additional-field - Content to be displayed alongside a checkbox.
 * @slot label - Label for the checkbox.
 */
export declare class Checkbox {
    private additionalFieldContainer?;
    private checkboxEl?;
    private labelSlot;
    el: HTMLIcCheckboxElement;
    /**
     * The style of additionalField that will be displayed if used.
     */
    additionalFieldDisplay: IcAdditionalFieldTypes;
    /**
     * If `true`, the checkbox will be set to the checked state. This is only the initial state and will be updated to unchecked if the checkbox is clicked.
     */
    checked: boolean;
    initiallyChecked: boolean;
    /**
     * If `true`, the checkbox will be set to the disabled state.
     */
    disabled: boolean;
    watchDisabledHandler(): void;
    /**
     * The text to be displayed when dynamic.
     */
    dynamicText: string;
    /**
     * The <form> element to associate the checkbox with.
     */
    form?: string;
    /**
     * The group label for the checkbox.
     */
    groupLabel?: string;
    /**
     * If `true`, the label will be hidden and the required label value will be applied as an aria-label.
     */
    hideLabel: boolean;
    /**
     * If `true`, the indeterminate state will be displayed when checked.
     */
    indeterminate: boolean;
    displayIndeterminate: boolean;
    watchIndeterminateHandler(): void;
    /**
     * The label for the checkbox.
     */
    label: string;
    /**
     * The name for the checkbox. If not set when used in a checkbox group, the name will be based on the group name.
     */
    name?: string;
    /**
     * If `true`, the checkbox will behave like a native checkbox where the `indeterminate` prop sets the indeterminate visual styling, independent of the `checked` state.
     */
    nativeIndeterminateBehaviour: boolean;
    /**
     * The size of the checkbox to be displayed. This does not affect the font size of the label. If a checkbox is contained in a checkbox group, this will override the size set on checkbox group.
     */
    size?: IcSizes;
    /**
     * 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 for the checkbox.
     */
    value: string;
    /**
     * Emitted when a checkbox has been checked.
     */
    icCheck: EventEmitter<void>;
    componentWillLoad(): void;
    componentDidLoad(): void;
    componentDidRender(): void;
    disconnectedCallback(): void;
    /**
     * Sets focus on the checkbox.
     */
    setFocus(): Promise<void>;
    private getCheckboxGroupId;
    private hasLabelSlot;
    private arrangeLabel;
    private handleClick;
    private handleFormReset;
    render(): any;
}
