import { DataFieldResource } from '../model/resource-interface';
import { DataField } from '../../data-fields/models/abstract-data-field';
import { EnumerationField, EnumerationFieldValue } from '../../data-fields/enumeration-field/models/enumeration-field';
import { MultichoiceFieldValue } from '../../data-fields/multichoice-field/models/multichoice-field';
import { FileUploadMIMEType } from '../../data-fields/file-field/models/file-field';
import { FieldTypeResource } from '../model/field-type-resource';
import { Component } from '../../data-fields/models/component';
import * as i0 from "@angular/core";
export declare class FieldConverterService {
    private textFieldNames;
    constructor();
    toClass(item: DataFieldResource): DataField<any>;
    resolveType(item: DataField<any>): FieldTypeResource;
    formatValueForBackend(field: DataField<any>, value: any): any;
    protected resolveNumberComponent(numberField: DataFieldResource): Component;
    /**
     * Resolves `enumeration` and `eunumeration_map` fields into their appropriate class instances
     * @param enumField enumeration field resource
     */
    protected resolveEnumField(enumField: DataFieldResource): EnumerationField;
    /**
     * This function is used to parse enumeration options from the `choices` attribute
     * @param enumField enumeration field resource object who's choices we want to resolve
     * @returns the options for the enumeration field
     */
    protected resolveEnumChoices(enumField: DataFieldResource): Array<EnumerationFieldValue>;
    /**
     * This function is used to parse enumeration options from the `options` attribute
     * @param enumField enumeration field resource object who's options we want to resolve
     * @returns the options for the enumeration field
     */
    protected resolveEnumOptions(enumField: DataFieldResource): Array<EnumerationFieldValue>;
    /**
     * This function is used to parse multichoice options from the `choices` attribute
     * @param multiField multichoice field resource object who's options we want to resolve
     * @returns the options for the multichoice field
     */
    protected resolveMultichoiceChoices(multiField: DataFieldResource): Array<MultichoiceFieldValue>;
    /**
     * This function is used to parse enumeration options from the `options` attribute
     * @param multiField multichoice field resource object who's options we want to resolve
     * @returns the options for the multichoice field
     */
    protected resolveMultichoiceOptions(multiField: DataFieldResource): Array<MultichoiceFieldValue>;
    formatValueFromBackend(field: DataField<any>, value: any): any;
    protected resolveTextValue(field: DataFieldResource, value: string): string;
    protected resolveAllowedTypes(allowTypes: string[]): string | FileUploadMIMEType[];
    protected resolveByteSize(bytesSize: any): any;
    static ɵfac: i0.ɵɵFactoryDeclaration<FieldConverterService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<FieldConverterService>;
}
