import { type EventEmitter } from "../../stencil-public-runtime";
export declare class Checkbox {
    private inputElement;
    el: HTMLIfxCheckboxElement;
    /**
     * Indicates whether the checkbox is disabled. When true, the checkbox cannot be interacted with and will have a disabled appearance.
     */
    readonly disabled: boolean;
    /**
 * The name attribute of the input element.
 */
    readonly name: string;
    /**
     * The state of the checkbox. When true, the checkbox is checked; when false, it is unchecked.
     */
    checked: boolean;
    /**
     * Indicates whether the checkbox is in an indeterminate state. When true, the checkbox will have an indeterminate appearance, which is typically used to indicate a "partially selected" state in a group of checkboxes.
     */
    readonly indeterminate: boolean;
    /**
     * Indicates whether the checkbox is in an error state. When true, the checkbox will have an error appearance.
     */
    readonly error: boolean;
    /**
     * The size of the checkbox. Can be "m" for medium (default) or "s" for small. This prop controls the overall dimensions of the checkbox and its label.
     */
    readonly size: string;
    /**
     * The value associated with the checkbox.
     * This value is typically submitted with a form when the checkbox is checked.
     * If not specified, it defaults to "on" when the checkbox is checked.
     */
    readonly value: string;
    internalIndeterminate: boolean;
    internals: ElementInternals;
    private initialChecked;
    /**
     * Event emitted when the checkbox state changes.
     * Emits the new checked state as a boolean value.
     */
    ifxChange: EventEmitter<boolean>;
    /**
     * Event emitted when the error state changes.
     * Emits the new error state as a boolean value.
     */
    ifxError: EventEmitter<boolean>;
    /**
     * Method to get the current checked state of the checkbox.
     * @returns A promise that resolves to a boolean indicating whether the checkbox is checked.
     */
    isChecked(): Promise<boolean>;
    /**
     * Method to set the checked state of the checkbox.
     * @param newVal A boolean value to set the checked state of the checkbox.
     * @returns A promise that resolves when the checked state has been updated.
     */
    setChecked(newVal: boolean): Promise<void>;
    /**
     * @deprecated Use `setChecked` instead.
     */
    toggleCheckedState(newVal: boolean): Promise<void>;
    /**
     * Toggles the checked state.
     * @returns Resolves when the toggle is complete.
     */
    toggle(): Promise<boolean>;
    valueChanged(newValue: boolean, oldValue: boolean): void;
    errorChanged(newValue: boolean, oldValue: boolean): void;
    indeterminateChanged(newValue: boolean, oldValue: boolean): void;
    componentWillLoad(): void;
    componentDidLoad(): Promise<void>;
    componentDidRender(): void;
    /**
     * Callback for form association.
     * Called whenever the form is reset.
     * Resets the checkbox to its initial state.
     */
    formResetCallback(): void;
    private handleCheckbox;
    private setInputElement;
    render(): any;
    private getCheckedClassName;
}
