import { Tint } from '@dvn/alaca/theme';
import { BaseField } from '../../BaseField';
import { ComponentDataProvider } from '../../providers/ComponentDataProvider';
import { ComponentDataAdapter } from './ComponentDataAdapter';
export declare class SingleChoiceFieldOption {
  label: string;
  value: any;
  tint?: Tint;
  description?: string;
  constructor(label: string, value: any, tint?: Tint, description?: string);
}
export declare type SingleChoiceFieldInputType = 'radioButton' | 'radioCard' | 'select';
export declare class SingleChoiceField extends BaseField {
  static type: string;
  placeholder?: string;
  inputType: SingleChoiceFieldInputType;
  options?: SingleChoiceFieldOption[];
  dataProvider?: ComponentDataProvider<any>;
  dataAdapter?: ComponentDataAdapter<any>;
  optionsByValue: {
    [value: string]: SingleChoiceFieldOption;
  };
  constructor(id: string, title: string, options?: SingleChoiceFieldOption[], description?: string, inputType?: SingleChoiceFieldInputType, placeholder?: string);
  showPreview(): BaseField;
  getOptionOfValue(value: any): SingleChoiceFieldOption;
  setOptions(options?: SingleChoiceFieldOption[]): SingleChoiceField;
  setDataProvider(dataProvider: ComponentDataProvider<any>): SingleChoiceField;
  setDataAdapter(dataAdapter: ComponentDataAdapter<any>): SingleChoiceField;
}
