import { RanElement } from '../../utils';
import { EventManager } from '../../utils/builder';
export interface Context {
    checked: boolean;
}
export declare class Checkbox extends RanElement {
    static formAssociated: boolean;
    _events: EventManager;
    _internals?: ElementInternals;
    checkInput: HTMLInputElement;
    checkInner: HTMLSpanElement;
    context: Context;
    container: HTMLElement;
    _shadowDom: ShadowRoot;
    static get observedAttributes(): string[];
    _defaultChecked: boolean;
    _defaultCaptured: boolean;
    constructor();
    get disabled(): boolean;
    set disabled(value: boolean | string);
    get required(): boolean;
    set required(value: boolean | string);
    get value(): string;
    set value(value: string);
    get checked(): boolean;
    set checked(value: boolean | string);
    get sheet(): string;
    set sheet(value: string);
    handlerExternalCss: () => void;
    updateChecked: () => void;
    syncA11yAndForm: () => void;
    /**
     * Lets `required` be seen by form.checkValidity()/reportValidity()/:invalid.
     * Disabled checkboxes never block submission, matching native semantics.
     */
    private _updateValidity;
    checkValidity(): boolean;
    reportValidity(): boolean;
    get validity(): ValidityState | undefined;
    get validationMessage(): string;
    /**
     * @description: 原生 form.reset() 时恢复到连接时（用户交互前）的初始勾选状态
     */
    formResetCallback(): void;
    update: () => void;
    onChange: () => void;
    onKeydown: (event: KeyboardEvent) => void;
    connectedCallback(): void;
    disconnectedCallback(): void;
    attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
}
export default Checkbox;
