/**
 * @license
 * Copyright Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import { ICustomElementFoundation } from '@tylertech/forge-core';
import { IRadioAdapter } from './radio-adapter';
import { RadioLabelPosition } from './radio-constants';
export interface IRadioFoundation extends ICustomElementFoundation {
    checked: boolean;
    defaultChecked: boolean;
    value: string;
    disabled: boolean;
    required: boolean;
    readonly: boolean;
    dense: boolean;
    labelPosition: RadioLabelPosition;
    tryCheck(): boolean;
}
export declare class RadioFoundation implements IRadioFoundation {
    private _adapter;
    private _checked;
    private _defaultChecked;
    private _value;
    private _disabled;
    private _required;
    private _readonly;
    private _dense;
    private _labelPosition;
    private readonly _focusListener;
    private readonly _blurListener;
    private readonly _clickListener;
    private readonly _keydownListener;
    private readonly _keyupListener;
    constructor(_adapter: IRadioAdapter);
    initialize(): void;
    tryCheck(): boolean;
    private _handleFocus;
    private _handleBlur;
    private _handleClick;
    private _handleKeydown;
    private _handleKeyup;
    /**
     * Checks the radio button if it is not disabled or readonly. Exits early if the activating
     * event is cancelled.
     */
    private _activate;
    /**
     * Dispatches change and input events.
     *
     * @returns {boolean} - Returns true if neither event was cancelled.
     */
    private _dispatchEvents;
    get checked(): boolean;
    set checked(value: boolean);
    get defaultChecked(): boolean;
    set defaultChecked(value: boolean);
    get value(): string;
    set value(value: string);
    get disabled(): boolean;
    set disabled(value: boolean);
    get required(): boolean;
    set required(value: boolean);
    get readonly(): boolean;
    set readonly(value: boolean);
    get dense(): boolean;
    set dense(value: boolean);
    get labelPosition(): RadioLabelPosition;
    set labelPosition(value: RadioLabelPosition);
}
