import { AfterViewInit, ElementRef, OnInit } from '@angular/core';
import { ValidationMessageService } from '../../core/validation-message.service';
import { FormGroupHelper } from '../../shared/form-group.helper';
import { FormControlBase } from '../form-control-base';
import { RadioButtonOption } from './radio-button-option';
/**
 * Row displays options horizontally, column displays options vertically
 */
export declare type RadioButtonDirection = "row" | "column";
/**
 * Radio is the default button style, toggle will style as a toggle switch
 */
export declare type RadioButtonType = "radio" | "toggle";
export declare class RadioButtonComponent extends FormControlBase implements AfterViewInit, OnInit {
    protected validationMessageService: ValidationMessageService;
    protected formGroupHelper: FormGroupHelper;
    /**
     * Display the radio button options as a default set of radio button inputs or
     * as a toggle switch
     * @default 'radio'
     */
    type?: RadioButtonType;
    /**
     * One or more options to display
     */
    options: RadioButtonOption[];
    /**
     * If there is more than one option, display them in a row or column.
     * @default 'row'
     */
    direction?: RadioButtonDirection;
    /**
    * The name of the radio input element used to group radio elements
    * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/radio
    */
    name: string;
    /**
     * An array of classnames that will be passed into ngClass
     */
    currentClasses: string[];
    /**
     * Reference to the first input found with the radioInput reference variable.  All radio
     * inputs for this component will be tagged with this ref variable, but only the first found
     * will be selected as the inputElement for autofocus
     */
    protected inputElement: ElementRef;
    constructor(validationMessageService: ValidationMessageService, formGroupHelper: FormGroupHelper);
    ngOnInit(): void;
    ngAfterViewInit(): void;
}
