import { Component } from 'react';
import { OutputValues } from './types/builder.outputValues';
import { InputProps } from './types/input';
import { ObjectLiteral } from './types/helper.types';
interface FormBuilderImplements {
    getValues: (validation: boolean) => OutputValues;
    setValues: (values: ObjectLiteral) => Promise<void>;
    clear: () => Promise<void>;
}
interface IProps {
    inputs: InputProps[];
    onChange?: Function;
    onMount?: Function;
}
interface IState {
    isMounted: boolean;
    time: number | null;
    inInternalSettingProcess: boolean;
}
export declare class FormBuilder extends Component<IProps, IState> implements FormBuilderImplements {
    state: IState;
    private inputRefs;
    private inputs;
    private defaultValues;
    private didMountEvent;
    componentDidMount(): void;
    componentWillUnmount(): void;
    componentDidUpdate(prevProps: Readonly<IProps>, prevState: Readonly<IState>, snapshot?: any): void;
    getValues: (validation?: boolean) => OutputValues;
    private setObjectValues;
    private setNormalValue;
    private setValue;
    setValues: (value: ObjectLiteral) => Promise<any>;
    private syncSetValues;
    clear: () => Promise<any>;
    private lastVisibilityOfInputs;
    private checkVisibility;
    private onUpdateInputs;
    private executeAction;
    private renderInput;
    render(): JSX.Element;
}
export {};
