import { ValidatorFn, AsyncValidatorFn, AbstractControl } from '@angular/forms';
import { Queryable } from './queryable';
import { QueryOperate } from './query-operate';
export declare abstract class FieldBase<T> implements Queryable {
    value?: T;
    id?: string;
    selector?: string;
    key: string;
    label?: string;
    span?: number;
    required?: boolean;
    order?: number;
    controlType?: string;
    validator?: ValidatorFn | ValidatorFn[];
    asyncValidator?: AsyncValidatorFn | AsyncValidatorFn[];
    labelOffset?: number;
    labelSpan?: number;
    isObject?: boolean;
    disabled?: boolean;
    hidden?: boolean;
    params?: any;
    statusChange?: (string) => void;
    valueChange?: (string) => void;
    op?: QueryOperate;
    _check?: Function;
    _view?: any;
    _control?: AbstractControl;
    constructor(options: {
        value?: T;
        id?: string;
        selector?: string;
        key?: string;
        label?: string;
        span?: number;
        required?: boolean;
        validator?: ValidatorFn | ValidatorFn[];
        asyncValidator?: AsyncValidatorFn | AsyncValidatorFn[];
        order?: number;
        controlType?: string;
        labelOffset?: number;
        labelSpan?: number;
        isObject?: boolean;
        disabled?: boolean;
        hidden?: boolean;
        statusChange?: (string) => void;
        valueChange?: (any) => void;
        op?: QueryOperate;
        params?: Object;
    });
}
