import { RecordOf, InferRecordType, Key } from '../types'; export declare const toObject: , K extends keyof O, M extends "value" | "array" = "value">(it: Iterable, key: K, mode?: M) => { [Key_1 in O[K]]: M extends "value" ? O : O[]; }; declare type ToArrayValue = InferRecordType extends {} ? InferRecordType : { value: T; }; declare type ToArrayReturn = OnlyValues extends true ? ToArrayValue : ToArrayValue & Extra; declare type KeyOf = InferRecordType extends {} ? keyof T : T; export declare class ToArrayOptions { onlyValues?: boolean; filter?: (key: keyof T, value?: T[keyof T]) => boolean; keyName?: Key; } declare type ToArrayKey> = O extends never ? 'key' : O['keyName']; export declare function toArray>(o: T, options?: Partial): ToArrayReturn]: KeyOf; }>[]; export {};