import { EventEmitter } from '@angular/core';
import { FormBuilder } from '@angular/forms';
import { ParameterDefinition } from '../../services/util/CwInputModel';
import { ServerSideFieldModel } from '../../services/ServerSideFieldModel';
import { I18nService } from '../../services/system/locale/I18n';
import { LoggerService } from 'dotcms-js/dotcms-js';
export declare class ServersideCondition {
    private loggerService;
    componentInstance: ServerSideFieldModel;
    parameterValueChange: EventEmitter<{
        name: string;
        value: string;
    }>;
    private _inputs;
    private _resources;
    private _rhArgCount;
    private _errorMessageFormatters;
    private static getRightHandArgCount(selectedComparison);
    private static isComparisonParameter(input);
    private static getSelectedOption(input, value);
    constructor(fb: FormBuilder, resources: I18nService, loggerService: LoggerService);
    ngOnChanges(change: any): void;
    /**
   * Brute force error messages from lookup table for now.
   * @todo look up the known error formatters by key ('required', 'minLength', etc) from the I18NResource endpoint
   * and pre-cache them, so that we can retrieve them synchronously.
   */
    getErrorMessage(input: any): string;
    onBlur(input: any): void;
    setParameterValue(name: string, value: any, valid: boolean, isBlur?: boolean): void;
    getInputFor(type: string, param: any, paramDef: ParameterDefinition): any;
    private getTextInput(param, paramDef, i18nBaseKey);
    private getDateTimeInput(param, paramDef, i18nBaseKey);
    private getRestDropdownInput(param, paramDef, i18nBaseKey);
    private getDropdownInput(param, paramDef, i18nBaseKey);
    private applyRhsCount(selectedComparison);
}
