import { UnknownRecord } from "../ts/types.js"; export type TypeCompareResult = boolean | { expectedType: string; received: string; location: string; }; export type ObjTypes = { [key: string]: string | string[] | ObjTypes | ObjTypes[]; }; /** * Take in a target `object` and a `types` object with identical keys but values as array of types those keys should be. * @param target Object * @param types Object identical to `target` but values are types * @returns `object` if the types dont match. `True` if they do. */ export declare const deepTypeCompare: (target: UnknownRecord, types: ObjTypes, location?: string) => TypeCompareResult; /** * Helper function for `deepTypeCompare` to compare a item to a type or set of types. * @param expectedTypes Expected type/types * @param receivedValue Object given * @param location Location of `got` given */ export declare const compareTwo: (expectedTypes: string | string[], receivedValue: unknown, location: string) => TypeCompareResult; //# sourceMappingURL=compare.d.ts.map