import { type DottedKeysWithArray, type ExpandWildcardWithArray } from './types'; type OmitFromObject = T extends (infer U)[] ? OmitFromObject[] : T extends Record ? K extends `${infer Key}.${infer Rest}` ? Key extends keyof T ? T[Key] extends Record | any[] ? { [P in keyof T]: P extends Key ? OmitFromObject : T[P]; } : T : T : Omit : T; /** * Returns a new object with the provided keys omitted * Supports: * - omitting keys in nested arrays * - omitting wildcard patterns: '*.password' * - omitting standard keys * * @param {Record} obj - Object to omit from * @param {string[]} keys - Array of keys to omit from object */ declare function omit, K extends readonly (DottedKeysWithArray | `*.${string}`)[]>(obj: T, keys: K): OmitFromObject>; export { omit, omit as default };