import { List } from './List';
export type Entry<T = unknown> = [key: string, value: T];
export declare function entries<T = unknown>(subject: {
    [p: string]: T;
} | ArrayLike<T>): List<Entry<T>>;
export declare function values<T = unknown>(subject: {
    [p: string]: T;
} | ArrayLike<T>): List<T>;
export declare function keys<T = unknown>(subject: {
    [p: string]: T;
} | ArrayLike<T>): List<string>;
export declare function extractKeys<T extends Record<string | number, unknown>, K extends keyof T>(obj: T, keys: K[] | readonly (keyof T)[]): {
    keys: Pick<T, K>;
} & Omit<T, K>;
