import * as E from "@effect-ts/core/Either"; import type { Predicate } from "@effect-ts/core/Function"; import * as O from "@effect-ts/core/Option"; import type * as P from "@effect-ts/core/Prelude"; import * as HM from "@effect-ts/system/Collections/Immutable/HashMap"; import type { At } from "../At/index.js"; import type { Index } from "../Ix/index.js"; declare const Lens_base: import("@effect-ts/system/Case").CaseConstructorTagged<"Lens", "_tag">; export declare class Lens extends Lens_base<{ readonly get: (s: S) => A; readonly set: (a: A) => (s: S) => S; }> { readonly [">>>"]: { (ab: Iso): Lens; (ab: Lens): Lens; (ab: Prism): Optional; (ab: Optional): Optional; (ab: Traversal): Traversal; }; } declare const Prism_base: import("@effect-ts/system/Case").CaseConstructorTagged<"Prism", "_tag">; export declare class Prism extends Prism_base<{ readonly getOption: (s: S) => O.Option; readonly reverseGet: (a: A) => S; }> { readonly [">>>"]: { (ab: Iso): Prism; (ab: Lens): Optional; (ab: Prism): Prism; (ab: Optional): Optional; (ab: Traversal): Traversal; }; } declare const Optional_base: import("@effect-ts/system/Case").CaseConstructorTagged<"Optional", "_tag">; export declare class Optional extends Optional_base<{ readonly getOption: (s: S) => O.Option; readonly set: (a: A) => (s: S) => S; }> { readonly [">>>"]: { (ab: Iso): Optional; (ab: Lens): Optional; (ab: Prism): Optional; (ab: Optional): Optional; (ab: Traversal): Traversal; }; } declare const Iso_base: import("@effect-ts/system/Case").CaseConstructorTagged<"Iso", "_tag">; export declare class Iso extends Iso_base<{ readonly get: (s: S) => A; readonly reverseGet: (a: A) => S; }> { readonly [">>>"]: { (ab: Iso): Iso; (ab: Lens): Lens; (ab: Prism): Prism; (ab: Optional): Optional; (ab: Traversal): Traversal; }; } export interface ModifyF { (F: P.Applicative): (f: (a: A) => P.Kind) => (s: S) => P.Kind; } declare const Traversal_base: import("@effect-ts/system/Case").CaseConstructorTagged<"Traversal", "_tag">; export declare class Traversal extends Traversal_base<{ readonly modifyF: ModifyF; }> { readonly [">>>"]: { (ab: Iso): Traversal; (ab: Lens): Traversal; (ab: Prism): Traversal; (ab: Optional): Traversal; (ab: Traversal): Traversal; }; } export declare const isoAsLens: (sa: Iso) => Lens; export declare const isoAsOptional: (sa: Iso) => Optional; /** * Compose an `Iso` with an `Iso` */ export declare const isoComposeIso: (ab: Iso) => (sa: Iso) => Iso; /** * View an `Iso` as a `Prism` */ export declare const isoAsPrism: (sa: Iso) => Prism; export declare const isoAsTraversal: (sa: Iso) => Traversal; export declare const lensAsOptional: (sa: Lens) => Optional; export declare const lensAsTraversal: (sa: Lens) => Traversal; export declare const lensComposeLens: (ab: Lens) => (sa: Lens) => Lens; export declare const lensComposePrism: (ab: Prism) => (sa: Lens) => Optional; export declare const lensId: () => Lens; export declare const lensProp: (prop: P) => (lens: Lens) => Lens; export declare const lensProps: (props_0: P, props_1: P, ...props_2: P[]) => (lens: Lens) => Lens; export declare const lensComponent: (prop: P) => (lens: Lens) => Lens; export declare const prismAsOptional: (sa: Prism) => Optional; export declare const prismAsTraversal: (sa: Prism) => Traversal; export declare const prismModifyOption: (f: (a: A) => A) => (sa: Prism) => (s: S) => O.Option; export declare const prismModify: (f: (a: A) => A) => (sa: Prism) => (s: S) => S; export declare const prismSet: (a: A) => (sa: Prism) => (s: S) => S; export declare const prismComposeLens: (ab: Lens) => (sa: Prism) => Optional; export declare const prismFromNullable: () => Prism>; export declare function prismFromPredicate(predicate: Predicate): Prism; export declare const prismSome: () => Prism, A>; export declare const prismRight: () => Prism, A>; export declare const prismLeft: () => Prism, E>; /** * Compose a `Prism` with a `Prism` */ export declare const composePrism: (ab: Prism) => (sa: Prism) => Prism; export declare const optionalAsTraversal: (sa: Optional) => Traversal; export declare const optionalModifyOption: (f: (a: A) => A) => (optional: Optional) => (s: S) => O.Option; export declare const optionalModify: (f: (a: A) => A) => (optional: Optional) => (s: S) => S; export declare const optionalComposeOptional: (ab: Optional) => (sa: Optional) => Optional; export declare const find: (predicate: Predicate) => Optional, A>; export declare function traversalComposeTraversal(ab: Traversal): (sa: Traversal) => Traversal; export declare function fromForEach(T: P.ForEach): , Q = P.Initial, W = P.Initial, X = P.Initial, I = P.Initial, S = P.Initial, R = P.Initial, E = P.Initial>() => Traversal, A>; export declare const indexArray: () => Index, number, A>; export declare function indexRecord(): Index>, string, A>; export declare function indexHashMap(): Index>, K, A>; export declare function atRecord(): At>, string, O.Option>; export declare function atHashMap(): At>, K, O.Option>; export {}; //# sourceMappingURL=index.d.ts.map