import type { Newtype } from "@effect-ts/core/Newtype"; import type { URI } from "@effect-ts/core/Prelude"; import * as P from "@effect-ts/core/Prelude"; import * as _ from "../Internal/index.js"; import { Iso, isoAsPrism as asPrism, isoAsTraversal as asTraversal, isoComposeIso as compose } from "../Internal/index.js"; import type { Lens } from "../Lens/index.js"; import type { Optional } from "../Optional/index.js"; export { Iso }; /** * View an `Iso` as a `Prism` */ export { asPrism }; export { compose }; /** * View an `Iso` as a `Traversal` */ export { asTraversal }; export declare const id: () => _.Iso; /** * View an `Iso` as a `Lens` */ export declare const asLens: (sa: Iso) => Lens; /** * View an `Iso` as a `Optional` */ export declare const asOptional: (sa: Iso) => Optional; export declare const reverse: (sa: _.Iso) => _.Iso; export declare const modify: (f: (a: A) => A) => (sa: _.Iso) => (s: S) => S; export declare const imap: (f: (a: A) => B, g: (b: B) => A) => (sa: Iso) => Iso; export declare const IsoURI = "monocle/Iso"; export declare type IsoURI = typeof IsoURI; declare module "@effect-ts/core/Prelude/HKT" { interface URItoKind { [IsoURI]: Iso; } } export declare const Category: P.Category<[URI<"monocle/Iso", {}>], P.Auto>; export declare const Invariant: P.Invariant<[URI<"monocle/Iso", {}>], P.Auto>; export declare function newtype>(): Iso; //# sourceMappingURL=index.d.ts.map