import { CwModel } from './util/CwModel';
import { ParameterDefinition } from './util/CwInputModel';
import { ParameterModel } from './Rule';
import { FormControl } from '@angular/forms';
import { LoggerService } from 'dotcms-js/dotcms-js';
export declare class ServerSideFieldModel extends CwModel {
    loggerService: LoggerService;
    parameterDefs: {
        [key: string]: ParameterDefinition;
    };
    parameters: {
        [key: string]: ParameterModel;
    };
    priority: number;
    private _type;
    static createNgControl(model: ServerSideFieldModel, paramName: string): FormControl;
    constructor(key: string, type: ServerSideTypeModel, priority?: number, loggerService?: LoggerService);
    type: ServerSideTypeModel;
    setParameter(key: string, value: any, priority?: number): void;
    getParameter(key: string): ParameterModel;
    getParameterValue(key: string): string;
    getParameterDef(key: string): ParameterDefinition;
    isValid(): boolean;
}
export declare class ServerSideTypeModel {
    key: string;
    priority: number;
    i18nKey: string;
    parameters: {
        [key: string]: ParameterDefinition;
    };
    _opt: any;
    static fromJson(json: any): ServerSideTypeModel;
    constructor(key?: string, i18nKey?: string, parameters?: any);
    isValid(): boolean;
}
