import { FormControlInstance, FormControlValue } from './form-control.mixin.js'; interface FormControlRadioInstance extends FormControlInstance { checked: boolean; updateCheckedState(): void; } export interface RadioFormControlMixin { new (...args: any[]): FormControlRadioInstance; formAssociated: boolean; readonly observedAttributes: string[]; } 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[]; }; /** * Mixin that extends FormControlMixin with radio-specific functionality. * Provides native HTMLInputElement[type=radio]-like behavior for custom radio components. * * Features: * - checked: Get/set the checked state of the radio * - value: Defaults to 'on' (native radio behavior) * - type: Returns 'radio' * - CSS state management for :state(checked) * - Form value handling based on checked state * - Radio group exclusivity (only one radio with same name can be checked) */ export declare function RadioFormControlMixin(SuperClass: TBase): TBase & RadioFormControlMixin; export {};