import type { EmptyObject } from './EmptyObject.ts'; import type { DeepOmitStartsWith } from './OmitStartsWith.ts'; /** A predicate function used to determine which properties to omit from an object. */ export type OmitByPredicate> = (value: T[keyof T], key: keyof T) => boolean; /** * Creates a new object excluding properties that satisfy the predicate, with optional recursive depth. * @param obj - The source object to omit properties from. * @param predicate - A function that returns true for properties to exclude. * @param maxDepth - Maximum recursion depth for nested objects. * @returns A partial copy of the object without matching properties. */ export declare const omitBy: (obj: T, predicate: OmitByPredicate, maxDepth?: number) => Partial; /** * Omits all properties whose keys start with the given prefix, recursively through nested objects. * @param payload - The source object. * @param prefix - The string prefix to match keys against. * @param maxDepth - Maximum recursion depth. * @returns A new object without properties that have matching prefixed keys. */ export declare const omitByPrefix: (payload: T, prefix: P, maxDepth?: number) => DeepOmitStartsWith; //# sourceMappingURL=omitBy.d.ts.map