import { ValidatorFn } from '@angular/forms';
export declare class CwValidationResults {
    valid: boolean;
    constructor(valid: boolean);
}
export declare class DataTypeModel {
    id: string;
    errorMessageKey: string;
    private _constraints;
    defaultValue: string;
    private _vFns;
    static registerType(typeId: string, type: Function): void;
    constructor(id: string, errorMessageKey: string, _constraints: any, defaultValue?: string);
    validators(): Array<Function>;
    validator(): ValidatorFn;
}
export declare class CwInputDefinition {
    json: any;
    type: string;
    name: string;
    placeholder: string;
    dataType: DataTypeModel;
    private _validators;
    private _vFns;
    private _validator;
    static registerType(typeId: string, type: Function): void;
    static fromJson(json: any, name: string): CwInputDefinition;
    constructor(json: any, type: string, name: string, placeholder: string, dataType: DataTypeModel, _validators?: Function[]);
    validators(): Array<Function>;
    validator(): Function;
    verify(value: any): {
        [key: string]: boolean;
    };
}
export declare class CwSpacerInputDefinition extends CwInputDefinition {
    private flex;
    constructor(flex: number);
}
export declare class CwDropdownInputModel extends CwInputDefinition {
    options: {
        [key: string]: any;
    };
    allowAdditions: boolean;
    minSelections: number;
    maxSelections: number;
    selected: Array<any>;
    i18nBaseKey: string;
    static createValidators(json: any): any[];
    constructor(json: any, type: any, name: any, placeholder: any, dataType: any);
}
export declare class CwRestDropdownInputModel extends CwInputDefinition {
    optionUrl: string;
    optionValueField: string;
    optionLabelField: string;
    allowAdditions: boolean;
    minSelections: number;
    maxSelections: number;
    selected: Array<any>;
    i18nBaseKey: string;
    constructor(json: any, type: any, name: any, placeholder: any, dataType: any);
}
export declare class ParameterDefinition {
    defaultValue: string;
    priority: number;
    key: string;
    inputType: CwInputDefinition;
    i18nBaseKey: string;
    static fromJson(json: any): ParameterDefinition;
    constructor();
}
