/**
 * @template {object} T
 * @template {keyof T} K
 * @param {T} input
 * @param {K[]|ReadonlyArray<K>} keys
 * @returns {Omit<T, K>}
 */
export function omit<T extends object, K extends keyof T>(input: T, keys: K[] | ReadonlyArray<K>): Omit<T, K>;
/**
 * @template {object} T
 * @template {keyof T} K
 * @param {T} input
 * @param {K[]|ReadonlyArray<K>} keys
 * @returns {Pick<T, K>}
 */
export function pick<T extends object, K extends keyof T>(input: T, keys: K[] | ReadonlyArray<K>): Pick<T, K>;
/**
 * @template {{ [key: string]: unknown }} T
 * @param {T} value
 * @returns {Array<keyof T>}
 */
export function typedObjectKeys<T extends {
    [key: string]: unknown;
}>(value: T): Array<keyof T>;
/**
 * @template {{ [key: string]: unknown }} T
 * @param {T} value
 * @returns {Array<T extends unknown ? keyof T : never>}
 */
export function typedObjectKeysAll<T extends {
    [key: string]: unknown;
}>(value: T): Array<T extends unknown ? keyof T : never>;
//# sourceMappingURL=object.d.ts.map