export declare type FormListener = {
    name: string;
    fn: (isOnChange: boolean) => void;
};
export declare type FormValidator = (value: any) => string | boolean;
export declare type FormRules = {
    [name: string]: FormValidator;
};
export declare type FormErrors = {
    [name: string]: string | boolean;
};
export declare type FormValues = {
    [name: string]: any;
};
export default class FormStore {
    private readonly defaultFieldsValue;
    private listeners;
    private fieldValues;
    private rules;
    private errors;
    constructor(values?: {}, rules?: FormRules);
    getFieldValue(name: string): any;
    getFieldValues(names?: object): {};
    setFieldValue(name: string, value: any): void;
    setFieldValues(fields?: FormValues): void;
    resetFields(): void;
    validateField(name: string): void;
    validateFields(fn?: (err: FormErrors, values: FormValues) => void): void;
    setFieldRules(rules: FormRules): void;
    setFieldValidator(name: string, validator: FormValidator): void;
    getFieldError(name: string): string | boolean;
    getFieldErrors(names?: object): FormErrors;
    setFieldError(name: string, error: string | boolean): void;
    setFieldErrors(fields?: FormValues): void;
    subscribe(name: string, fn: (isOnChange: boolean) => void): () => void;
    notify(name?: string): void;
}
