import { LitElement } from 'lit';
import type { Constructor } from '../common/mixins/constructor.js';
import { type FormValueOf } from '../common/mixins/forms/form-value.js';
import type { ToggleLabelPosition } from '../types.js';
export interface IgcCheckboxChangeEventArgs {
    checked: boolean;
    value?: string;
}
export interface IgcCheckboxComponentEventMap {
    igcChange: CustomEvent<IgcCheckboxChangeEventArgs>;
    focus: FocusEvent;
    blur: FocusEvent;
}
declare const IgcCheckboxBaseComponent_base: Constructor<import("../common/mixins/forms/types.js").FormRequiredInterface & import("../common/mixins/forms/types.js").FormAssociatedCheckboxElementInterface> & Constructor<import("../common/mixins/event-emitter.js").EventEmitterInterface<IgcCheckboxComponentEventMap>> & Constructor<LitElement>;
export declare class IgcCheckboxBaseComponent extends IgcCheckboxBaseComponent_base {
    protected get __validators(): import("../common/validators.js").Validator<IgcCheckboxBaseComponent>[];
    protected readonly _focusRingManager: import("../common/controllers/focus-ring.js").KeyboardFocusRingController;
    protected readonly _formValue: FormValueOf<boolean>;
    protected _value: string;
    protected readonly _input: HTMLInputElement;
    protected readonly _label: Array<Node>;
    protected _hideLabel: boolean;
    /**
     * The value attribute of the control.
     * @attr
     */
    set value(value: string);
    get value(): string;
    /**
     * The checked state of the control.
     * @attr
     */
    set checked(value: boolean);
    get checked(): boolean;
    /**
     * The label position of the control.
     * @attr label-position
     */
    labelPosition: ToggleLabelPosition;
    protected createRenderRoot(): HTMLElement | DocumentFragment;
    /** Simulates a click on the control. */
    click(): void;
    /** Sets focus on the control. */
    focus(options?: FocusOptions): void;
    /** Removes focus from the control. */
    blur(): void;
    protected _handleClick(event: PointerEvent): void;
    protected _handleFocus(): void;
}
export {};
