import { FormState, FieldValidator, FormErrors, FormManagerParams, FormTouches } from '../types';
declare class StateManipulator<S extends object> {
    protected validateHandler: FormManagerParams<S>['validate'];
    protected validationSchema: FormManagerParams<S>['validationSchema'];
    protected customValidators: {
        [key: string]: FieldValidator<any>;
    };
    protected initialState: S;
    protected initialErrors: FormErrors<S>;
    protected initialTouches: FormTouches<S>;
    protected validateOnMount: FormManagerParams<S>['validateOnMount'];
    protected defaultState: Omit<FormState<S>, 'values'>;
    constructor(props: Omit<FormManagerParams<S>, 'initialErrors' | 'initialTouches'> & Required<Pick<FormManagerParams<S>, 'initialErrors' | 'initialTouches'>> & {
        customValidators: {
            [key: string]: FieldValidator<any>;
        };
        defaultState: Omit<FormState<S>, 'values'>;
    });
    setValue(state: FormState<S>, key: string, newValue: any): FormState<S>;
    setError(state: FormState<S>, key: string, value: string | undefined): FormState<S>;
    setTouched(state: FormState<S>, key: string, value: boolean): FormState<S>;
    getValue(state: FormState<S>, key: string): any;
    getError(state: FormState<S>, key: string): any;
    getTouched(state: FormState<S>, key: string): any;
    validate(state: FormState<S>, allTouched?: boolean): FormState<S>;
    reset(state: FormState<S>, getState?: S | ((state: S) => S)): FormState<S>;
}
export default StateManipulator;
