import { Injector } from '@angular/core';
import { ObjectPropertySchemaFieldLoaderComponent } from '../../../../schema/schema-field-host.component';
import { SchemaObjectProperty } from '../../../../schema/schema-models';
import { RadioGroupFormFieldComponentBase } from '../radio-group-form-field.component.base';
import * as i0 from "@angular/core";
export declare class RadioGroupFormFieldLoaderComponent extends ObjectPropertySchemaFieldLoaderComponent {
    get options(): any[];
    getObjectOptionByMainOption(mainOptionValue: string): SchemaObjectProperty;
    isValid(): boolean;
    shouldDisable(): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<RadioGroupFormFieldLoaderComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<RadioGroupFormFieldLoaderComponent, "ng-component", never, {}, {}, never, never, false, never>;
}
/**
 * The display type of the radio group.
 * - List is a vertical display of traditional radio buttons
 * - inline, is still traditional radio buttons but inline
 */
export declare type RadioGroupDisplayMode = 'list' | 'inline';
/**
 * Accessible Implementation of a form field for a set of .sme-radio
 */
export declare class RadioGroupFormFieldComponent extends RadioGroupFormFieldComponentBase {
    /**
     * The source name to use for logging
     */
    protected get logSourceName(): string;
    displayMode: RadioGroupDisplayMode;
    /**
     * Initializes a new instance of the RadioGroupFormFieldComponent
     */
    constructor(injector: Injector);
    static ɵfac: i0.ɵɵFactoryDeclaration<RadioGroupFormFieldComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<RadioGroupFormFieldComponent, "sme-form-field[type=\"radiogroup\"]", never, { "displayMode": "displayMode"; }, {}, never, never, false, never>;
}
