import { LitElement } from 'lit'; export type CheckboxSize = 'small' | 'medium' | 'large'; export type CheckboxTheme = 'default' | 'primary' | 'success' | 'monochrome'; export interface CheckboxChangeEventDetail { checked: boolean; value: string; name: string; indeterminate: boolean; } export type CheckboxChangeEvent = CustomEvent; /** * @csspart ag-checkbox-wrapper - The outer wrapper label element * @csspart ag-checkbox-input - The native checkbox input element * @csspart ag-checkbox-indicator - The custom visual checkbox indicator (box with checkmark) * @csspart ag-checkbox-label - The label text span */ export interface CheckboxProps { name?: string; value?: string; checked?: boolean; indeterminate?: boolean; disabled?: boolean; size?: CheckboxSize; theme?: CheckboxTheme; labelText?: string; labelPosition?: 'end' | 'start'; required?: boolean; invalid?: boolean; errorMessage?: string; helpText?: string; onClick?: (event: MouseEvent) => void; onChange?: (event: CheckboxChangeEvent) => void; } declare const AgCheckbox_base: (new (...args: any[]) => import('../../../shared/face-mixin').FaceMixinInterface) & typeof LitElement; export declare class AgCheckbox extends AgCheckbox_base implements CheckboxProps { static styles: import('lit').CSSResult[]; value: string; checked: boolean; indeterminate: boolean; disabled: boolean; size: CheckboxSize; theme: CheckboxTheme; labelText: string; labelPosition: 'end' | 'start'; required: boolean; invalid: boolean; errorMessage: string; helpText: string; onClick?: (event: MouseEvent) => void; onChange?: (event: CheckboxChangeEvent) => void; private _ids; private inputRef?; constructor(); /** * Expose the internal focusable element for FormControl ARIA wiring */ get controlElement(): HTMLElement | null; /** * FACE lifecycle: called when the parent form is reset. * Restores checked and indeterminate to their default states. */ formResetCallback(): void; /** * FACE lifecycle: called on session restore or browser autofill. * Restores checked state from the previously saved form value. * A non-null state means the checkbox was checked; null means unchecked. */ formStateRestoreCallback(state: File | string | FormData | null, _mode: 'restore' | 'autocomplete'): void; /** * Sync validity to ElementInternals by delegating to the inner * . Required validation is handled natively * by the inner input; we just mirror its state. */ private _syncValidity; /** * Sync CustomStateSet states so :state() pseudo-classes work from external CSS. * * Must be called AFTER _syncValidity() so that :state(invalid) reads the * freshly-updated _internals.validity.valid value. * * Exposed states: * :state(checked) — checkbox is checked * :state(indeterminate) — checkbox is in indeterminate state * :state(disabled) — checkbox is disabled * :state(required) — checkbox is required * :state(invalid) — FACE constraint validation is failing */ private _syncStates; updated(changedProperties: Map): void; private handleClick; private handleChange; /** * Render helper text */ private _renderHelper; /** * Render error text */ private _renderError; /** * Build ARIA describedby attribute */ private _getAriaDescribedBy; render(): import('lit').TemplateResult<1>; firstUpdated(): void; } export {}; //# sourceMappingURL=_Checkbox.d.ts.map