/**
 * @license
 * Copyright 2025 Kai-Orion & Sandlada
 * SPDX-License-Identifier: MIT
 */
import { LitElement, type PropertyValues } from 'lit';
import { createValidator, getValidityAnchor } from '../../utils/behaviors/constraint-validation';
import { RadioValidator } from '../../utils/behaviors/validators/radio-validator';
import { SelectionController } from '../../utils/controller/selection-controller';
import { getFormState, getFormValue } from '../../utils/form/form-associated';
declare global {
    interface HTMLElementTagNameMap {
        "mdc-radio-button": RadioButton;
    }
}
declare const RadioButton_base: Omit<typeof LitElement, "prototype"> & (new () => LitElement & object & import("../../utils/behaviors/constraint-validation").ConstraintValidation & import("../../utils/form/form-associated").FormAssociated & import("../../utils/behaviors/element-internals").WithElementInternals & import("../focus-ring/focus-ring-options.mixin").IMixinFocusRingOption & import("../ripple/ripple-options.mixin").IMixinRippleOptions & import("../ripple/ripple-options.mixin").IMixinRippleAttributes);
/**
 *
 * @form
 * - default-checked
 * - checked
 * - disabled
 *
 * @version
 * Material Design 3 - Expressive
 *
 * @link
 * https://m3.material.io/components/radio-button/specs
 *
 */
export declare class RadioButton extends RadioButton_base {
    static shadowRootOptions: {
        clonable?: boolean;
        customElementRegistry?: CustomElementRegistry | null;
        mode: ShadowRootMode;
        serializable?: boolean;
        slotAssignment?: SlotAssignmentMode;
        delegatesFocus: boolean;
    };
    static styles: import("lit").CSSResult;
    disabled: boolean;
    name: string;
    readonly type: 'checkbox' | 'radio';
    value: 'on' | (string & {});
    required: boolean;
    checked: boolean;
    protected readonly selectionController: SelectionController;
    get focusRingControl(): HTMLElement;
    get rippleControl(): HTMLElement;
    constructor();
    connectedCallback(): void;
    protected updated(_changedProperties: PropertyValues): void;
    protected getRenderClasses(): {
        container: boolean;
        selected: boolean;
        unselected: boolean;
    };
    protected render(): unknown;
    private readonly handleFocusIn;
    private readonly handleFocusOut;
    private readonly handleVisualKeyDown;
    private shouldShowKeyboardVisuals;
    private queueKeyboardVisualSync;
    private clearKeyboardVisuals;
    private handleClick;
    [createValidator](): RadioValidator;
    [getValidityAnchor](): this;
    [getFormValue](): "on" | (string & {}) | null;
    [getFormState](): string;
    formResetCallback(): void;
    formStateRestoreCallback(state: string): void;
}
export {};
//# sourceMappingURL=radio-button.d.ts.map