import type { IObjectAny } from '../typings/common'; interface ITraverseParams { schema: S; parentSchema?: S; path: string[]; state: IObjectAny; store: IObjectAny; } interface IVisitorMethodParams extends ITraverseParams { field: string; } interface IVisitor { [type: string]: { enter?: (p: IVisitorMethodParams & { traverse: (p?: Partial>) => void; }) => void; exit?: (p: IVisitorMethodParams) => void; }; } interface IOptions { mapKey?: string; ignoreCase?: boolean; clone?: boolean; initialState?: IObjectAny; initialStore?: IObjectAny; } export declare function isInvalidTraverseSchema({ properties }: ITraverseParams['schema']): boolean; export default function traverseSchema(schema: S, visitor: IVisitor, options?: IOptions): S; export {};