import { EventEmitter, ComponentInterface } from '../../../stencil-public-runtime';
import { BalRadioOption } from '../bal-radio.type';
import { Loggable, LogInstance } from '../../../utils/log';
import { BalMutationObserver } from '../../../utils/mutation';
import { BalAriaForm, BalAriaFormLinking } from '../../../utils/form';
import { BalFocusObserver } from '../../../utils/focus';
export declare class RadioGroup implements ComponentInterface, Loggable, BalMutationObserver, BalAriaFormLinking, BalFocusObserver {
    private inputId;
    private inheritedAttributes;
    private initialValue?;
    log: LogInstance;
    createLogger(log: LogInstance): void;
    el: HTMLBalRadioGroupElement;
    ariaForm: BalAriaForm;
    options?: BalRadioOption[];
    protected optionChanged(): Promise<void>;
    allowEmptySelection: boolean;
    name: string;
    value?: any | null;
    valueChanged(): void;
    interface?: BalProps.BalRadioGroupInterface;
    vertical: boolean;
    verticalOnMobile: boolean;
    expanded: boolean;
    invalid?: boolean;
    invalidChanged(value: boolean | undefined): void;
    disabled?: boolean;
    disabledChanged(value: boolean | undefined): void;
    readonly?: boolean;
    readonlyChanged(value: boolean | undefined): void;
    columns: BalProps.BalRadioGroupColumns;
    columnsChanged(value: BalProps.BalRadioGroupColumns): void;
    columnsTablet: BalProps.BalRadioGroupColumns;
    columnsTabletChanged(value: BalProps.BalRadioGroupColumns): void;
    columnsMobile: BalProps.BalRadioGroupColumns;
    columnsMobileChanged(value: BalProps.BalRadioGroupColumns): void;
    balChange: EventEmitter<BalEvents.BalRadioGroupChangeDetail>;
    balFocus: EventEmitter<BalEvents.BalRadioGroupFocusDetail>;
    balBlur: EventEmitter<BalEvents.BalRadioGroupBlurDetail>;
    connectedCallback(): void;
    componentWillLoad(): void;
    hasFocus: boolean;
    focusInListener(ev: FocusEvent): void;
    focusOutListener(ev: FocusEvent): void;
    mutationObserverActive: boolean;
    mutationListener(): void;
    listenOnClick(ev: UIEvent): void;
    radioFocusListener(ev: CustomEvent<FocusEvent>): void;
    radioBlurListener(ev: CustomEvent<FocusEvent>): void;
    resetListener(ev: UIEvent): void;
    onKeydown(ev: any): void;
    private onOptionChange;
    setValue(value: number | string | boolean): Promise<void>;
    getOptionByValue(value: string): Promise<BalRadioOption | undefined>;
    setAriaForm(ariaForm: BalAriaForm): Promise<void>;
    private setRadioTabindex;
    private setRadioInterface;
    private setRadioChecked;
    private getRadios;
    private getRadioButtons;
    private onClick;
    render(): any;
}
