/** * **This module is experimental** * * Experimental features are published in order to get early feedback from the community. * * A feature tagged as _Experimental_ is in a high state of flux, you're at risk of it changing without notice. * * @since 2.3.0 */ import { Eq } from 'fp-ts/lib/Eq' import * as O from 'fp-ts/lib/Option' import { ReadonlyRecord } from 'fp-ts/lib/ReadonlyRecord' import { Iso } from './Iso' import { Lens } from './Lens' import Option = O.Option /** * @category model * @since 2.3.0 */ export interface At { readonly at: (i: I) => Lens } /** * @category constructors * @since 2.3.8 */ export declare const at: (at: At['at']) => At /** * Lift an instance of `At` using an `Iso`. * * @category constructors * @since 2.3.0 */ export declare const fromIso: (iso: Iso) => (sia: At) => At /** * @category constructors * @since 2.3.7 */ export declare const atReadonlyRecord: () => At, string, Option> /** * @category constructors * @since 2.3.7 */ export declare const atReadonlyMap: (E: Eq) => () => At, K, O.Option> /** * @category constructors * @since 2.3.7 */ export declare const atReadonlySet: (E: Eq) => At, A, boolean> /** * Use `atReadonlyRecord` instead. * * @category constructors * @since 2.3.2 * @deprecated */ export declare const atRecord: () => At, string, Option>