/**
 * @license
 * Copyright 2023 Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import { IRadioComponent } from './radio';
import { ForgeRippleCapableSurface } from '../ripple';
export interface IRadioAdapter {
    connect(): void;
    deferRippleInitialization(): Promise<void>;
    destroyRipple(): void;
    setHostAttribute(name: string, value?: string): void;
    removeHostAttribute(name: string): void;
    addRootClass(className: string): void;
    removeRootClass(className: string): void;
    addContainerClass(className: string): void;
    removeContainerClass(className: string): void;
    syncCheckedStateWithInput(): void;
    syncFocusedStateWithInput(): void;
    syncDisabledStateWithInput(): void;
    addInputEventListener(event: string, callback: (event: Event) => void): void;
    removeInputEventListener(event: string, callback: (event: Event) => void): void;
    addInputDisabledAttributeChangeListener(callback: () => void): void;
    removeInputDisabledAttributeChangeListener(): void;
    extendNativeInputSetter(callback: () => void): void;
    revertNativeInputSetter(): void;
    syncRadiogroupCheckStyles(): void;
}
export declare class RadioAdapter implements IRadioAdapter, ForgeRippleCapableSurface {
    private _component;
    private _rootElement;
    private _containerElement;
    private _nativeInputElement;
    private _inputAttributeMutationObserver?;
    private _rippleInstance;
    private _destroyUserInteractionListener;
    constructor(_component: IRadioComponent);
    get root(): Element;
    get unbounded(): boolean | undefined;
    get disabled(): boolean | undefined;
    connect(): void;
    deferRippleInitialization(): Promise<void>;
    destroyRipple(): void;
    setHostAttribute(name: string, value?: string): void;
    removeHostAttribute(name: string): void;
    addRootClass(className: string): void;
    removeRootClass(className: string): void;
    addContainerClass(className: string): void;
    removeContainerClass(className: string): void;
    syncDisabledStateWithInput(): void;
    syncFocusedStateWithInput(): void;
    syncCheckedStateWithInput(): void;
    addInputEventListener(event: string, callback: (event: Event) => void): void;
    removeInputEventListener(event: string, callback: (event: Event) => void): void;
    addInputDisabledAttributeChangeListener(callback: () => void): void;
    removeInputDisabledAttributeChangeListener(): void;
    getRadiosFromContainingRadiogroup(): NodeListOf<IRadioComponent> | null;
    syncRadiogroupCheckStyles(): void;
    extendNativeInputSetter(callback: () => void): void;
    revertNativeInputSetter(): void;
    private _validPropertyDescriptor;
    private _getContainingRadioGroup;
    private _setupInputDisabledAttributeMutationObserver;
    private _cleanupInputDisabledAttributeMutationObserver;
    private _inputDisabledAttributeMutationCallback;
    get inputDisabled(): boolean;
    get inputChecked(): boolean;
    private get _inputElement();
    private _isDisabled;
    private _createRipple;
}
