import { FormControlValue } from '../internal/types.js'; import { FormControlMixinInstance } from './index.js'; type Constructor = (new (...args: any[]) => HTMLElement & { connectedCallback?(): void; disconnectedCallback?(): void; attributeChangedCallback?(name: string, oldValue: string | null, newValue: string | null): void; requestUpdate?(name?: string, oldValue?: unknown): void; }) & { observedAttributes?: string[]; }; export type CheckboxFormControlValue = Extract; export interface CheckboxFormControlMixinInstance extends FormControlMixinInstance { /** * Shows whether the checkbox currently has a checked value. * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#checked * @attr checked * @reflect */ checked: boolean; /** * Indicates whether the checkbox is visually indeterminate. * https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/indeterminate * @attr indeterminate * @reflect */ indeterminate: boolean; updateCheckedState(): void; /** * Toggles the checked state. */ toggle(): void; } export type CheckboxFormControlMixinReturn = (new (...args: ConstructorParameters) => InstanceType & CheckboxFormControlMixinInstance) & { formAssociated: boolean; observedAttributes: string[]; } & Omit; /** * @description A mixin that adds native checkbox-style form control behavior. */ export declare function CheckboxFormControlMixin(SuperClass: TBase): CheckboxFormControlMixinReturn; export {};