import type { Rules, ErrorForm } from '../useForm/useForm';
export type ValuesList<ValuesListType> = {
    values: ValuesListType;
    rules: Rules<ValuesListType>;
    errors: ErrorForm<ValuesListType>;
};
export interface Props<ValuesListType> {
    initialValues: ValuesList<ValuesListType>[];
}
export type UseListType<ValuesListType> = {
    values: ValuesList<ValuesListType>[];
    addListItem: (init: ValuesList<ValuesListType>) => void;
    changeListItem: (ix: number, value: ValuesList<ValuesListType>) => void;
    removeListItem: (ix: number) => void;
    validateListItem: () => boolean;
    addManyListItem: (num: number, init: ValuesListType) => void;
    setList: (arrayList: ValuesList<ValuesListType>[]) => void;
    setRulesItem: (ix: number, rules: Rules<ValuesListType>) => void;
};
declare const useList: <ValuesListType extends {
    [key: string]: any;
} = {}>(props: Props<ValuesListType>) => UseListType<ValuesListType>;
export default useList;
