export interface IForm {
    dirty: boolean;
    valid: boolean;
    touched: boolean;
}
export interface IAll {
    form: IForm;
    running: boolean;
    tickSpeed: number;
    scheme: any;
    fieldDetails: any;
    data: any;
}
export interface IFormManager {
    fields: any;
    fieldScheme: any;
    form: IForm;
    data: any;
    all: IAll;
    formSubmittable: boolean;
    running: boolean;
    setFieldValidationStatus: (fieldName: string, validator: string, value: boolean) => void;
    setFieldStatus: (fieldName: string, manualOverride: boolean, isValid: boolean, errorMsg: string) => void;
    toggleValidationNode: (fieldName: string, validator: any, value: any) => void;
    restoreForm: () => void;
    resetForm: () => void;
    resetField: (fieldName: string) => void;
    showFieldError: (fieldName: string) => boolean;
    setTouched: (fieldName: string, value: boolean) => void;
    setValue: (fieldName: string, value: any) => void;
    setValues: (value: any) => void;
    setObjectValue: (fieldName: string, value: any) => void;
    onUpdateObjectValue: (fieldName: string, value: any) => void;
    onBlur: (fieldName: string) => void;
    onUpdateValue: (fieldName: string, value: any) => void;
    start: (tickSpeed: number, preserve: boolean) => void;
    stop: () => void;
    setValidator: (fieldName: string, validator: string, validatorFunc: any) => void;
}
export default class CFormManager implements IFormManager {
    private valuePoll;
    private isDirty;
    private isValid;
    private isTouched;
    private isRunning;
    private iTickSpeed;
    private scheme;
    private fieldNameArray;
    fields: any;
    constructor(formValidationSchema?: any);
    get fieldScheme(): any;
    get form(): IForm;
    get data(): any;
    get running(): boolean;
    get formSubmittable(): boolean;
    get all(): IAll;
    showFieldError(fieldName: string): boolean;
    onBlur(fieldName: string): void;
    onUpdateValue(fieldName: string, value: any): void;
    onUpdateObjectValue(fieldName: string, value: any): void;
    setTouched(fieldName: string, value?: boolean): void;
    setValue(fieldName: string, value: any): void;
    setObjectValue(fieldName: string, value: any): void;
    setValues(values: object): void;
    start(tickSpeed?: number, preserve?: boolean): void;
    stop(): void;
    setFieldValidationStatus: (fieldName: string, validator: string, value: boolean) => void;
    setFieldStatus(fieldName: string, manualOverride: boolean, isValid: boolean, errorMsg: string): void;
    toggleValidationNode(fieldName: string, validator?: any, value?: any): void;
    restoreForm(): void;
    resetForm(): void;
    resetField(fieldName: string): void;
    setValidator(fieldName: string, validator: string, validatorFunc: any): void;
    private updateFormStatus;
    private validateField;
    private buildFieldNameArray;
    private validateValidator;
    private initializeFields;
}
