import { IFlowConfig, IPayload, IValidationResult } from "../helper";
import { IKeyPath } from "../../../helper/immutable";
import { ISimpleType } from "../simple";
import { IObjectType } from "./object";
export declare type IArrayType<IData = {}, IContext = {}, A = {}, B = {}, C = {}, D = {}, E = {}, F = {}> = F & {
    type: "array";
    label?: string;
    itemSchema: IObjectType<IData, IContext, A, B, C, D, E, F> | ISimpleType<IData, IContext, A, B, C, D, E>;
    isRequired?: boolean;
    errMsgs?: {
        type?: string;
        required?: string;
    };
};
export declare type IArrayPayload = IPayload & {
    refPath: IKeyPath;
};
export declare function validateArrayType(schema: IArrayType, payload: IArrayPayload, config: IFlowConfig): IValidationResult;
