import { Foldable, Foldable1, Foldable2, Foldable3 } from 'fp-ts/lib/Foldable'; import { HKT, Kind, Kind2, Kind3, URIS, URIS2, URIS3 } from 'fp-ts/lib/HKT'; import { Magma } from 'fp-ts/lib/Magma'; import * as O from 'fp-ts/lib/Option'; import { Ord } from 'fp-ts/lib/Ord'; export * from 'fp-ts/lib/Record'; /** * Retrieves the keys of an object while retaining keyof type information * * `T` suffix is "type" to differentiate this from the base Record keys function */ export declare const keysT: , K extends keyof A>(x: A) => K[]; export declare const values: , V extends A[keyof A]>(x: A) => V[]; export declare const entries: , K extends keyof A, V extends A[K]>(x: A) => [K, V][]; /** * Retrieves the value of a given property key from an object (curried) */ export declare const prop: , K extends keyof A>(k: K) => (obj: A) => A[K]; /** * Omits the key-value pairs from an object associated with the provided keys */ export declare const omit: , K extends keyof A>(rec: A, ks: K[]) => { [P in Exclude]: A[P]; }; /** * A pipeable version of `omit`. * Omits the key-value pairs from an object associated with the provided keys */ export declare const omitI: , K extends keyof A>(...ks: ReadonlyArray) => (rec: A) => { [P in Exclude]: A[P]; }; /** * Picks the key-value pairs from an object associated with the provided keys */ export declare const pick: , K extends keyof A>(rec: A, ks: K[]) => { [P in K]: A[P]; }; export declare const sortRecords: , K extends keyof S & string, A extends S[K]>(ord: Ord) => (data: T[]) => T[]; /** * Type guard for `Record` from `object` */ export declare const isRecord: (x: unknown) => x is Record; /** * Check if a record is *not* empty */ export declare const isNotEmpty: (r: Record) => boolean; export declare function fromFoldableFilterMap(M: Magma, F: Foldable3): (ta: Kind3, f: (a: A) => O.Option<[K, B]>) => Record; export declare function fromFoldableFilterMap(M: Magma, F: Foldable2): (ta: Kind2, f: (a: A) => O.Option<[K, B]>) => Record; export declare function fromFoldableFilterMap(M: Magma, F: Foldable1): (ta: Kind, f: (a: A) => O.Option<[K, B]>) => Record; export declare function fromFoldableFilterMap(M: Magma, F: Foldable): (ta: HKT, f: (a: A) => O.Option<[K, B]>) => Record;