import * as L from "@effect-ts/core/Collections/Immutable/List"; import type { Either } from "@effect-ts/core/Either"; import type { Predicate, Refinement } from "@effect-ts/core/Function"; import type { Identity } from "@effect-ts/core/Identity"; import type { Option } from "@effect-ts/core/Option"; import type { URI } from "@effect-ts/core/Prelude"; import * as P from "@effect-ts/core/Prelude"; import type { HashMap } from "@effect-ts/system/Collections/Immutable/HashMap"; import * as _ from "../Internal/index.js"; import { ModifyF, Traversal } from "../Internal/index.js"; export { ModifyF, Traversal }; export declare const id: () => _.Traversal; /** * Create a `Traversal` from a `ForEach` */ export declare const fromForEach: typeof _.fromForEach; /** * Compose a `Traversal` with a `Traversal` */ export declare const compose: (ab: Traversal) => (sa: Traversal) => Traversal; export declare const modify: (f: (a: A) => A) => (sa: _.Traversal) => (s: S) => S; export declare const set: (a: A) => (sa: _.Traversal) => (s: S) => S; export declare function filter(refinement: Refinement): (sa: Traversal) => Traversal; export declare function filter(predicate: Predicate): (sa: Traversal) => Traversal; /** * Return a `Traversal` from a `Traversal` and a prop */ export declare const prop: (prop: P) => (sa: _.Traversal) => _.Traversal; /** * Return a `Traversal` from a `Traversal` and a list of props */ export declare const props: (props_0: P, props_1: P, ...props_2: P[]) => (sa: _.Traversal) => _.Traversal; /** * Return a `Traversal` from a `Traversal` and a component */ export declare const component: (prop: P) => (sa: _.Traversal) => _.Traversal; /** * Return a `Traversal` from a `Traversal` focused on a `ReadonlyArray` */ export declare const index: (i: number) => (sa: _.Traversal) => _.Traversal; /** * Return a `Traversal` from a `Traversal` focused on a `ReadonlyRecord` and a key */ export declare const keyInRecord: (key: string) => (sa: _.Traversal>>) => _.Traversal; /** * Return a `Traversal` from a `Traversal` focused on a `ReadonlyRecord` and a required key */ export declare const atKeyInRecord: (key: string) => (sa: _.Traversal>>) => _.Traversal>; /** * Return a `Traversal` from a `Traversal` focused on a `ReadonlyRecord` and a key */ export declare const keyInHashMap: (key: K) => (sa: _.Traversal>>) => _.Traversal; /** * Return a `Traversal` from a `Traversal` focused on a `ReadonlyRecord` and a required key */ export declare const atKeyInHashMap: (key: K) => (sa: _.Traversal>>) => _.Traversal>; /** * Return a `Traversal` from a `Traversal` focused on the `Some` of a `Option` type */ export declare const some: (soa: Traversal>) => Traversal; /** * Return a `Traversal` from a `Traversal` focused on the `Right` of a `Either` type */ export declare const right: (sea: Traversal>) => Traversal; /** * Return a `Traversal` from a `Traversal` focused on the `Left` of a `Either` type */ export declare const left: (sea: Traversal>) => Traversal; /** * Return a `Traversal` from a `Traversal` focused on a `ForEach` */ export declare function forEach(T: P.ForEach): (sta: Traversal>) => Traversal; /** * Map each target to a `Monoid` and combine the results. */ export declare const foldMap: (M: Identity) => (f: (a: A) => M) => (sa: _.Traversal) => (s: S) => M; /** * Map each target to a `Monoid` and combine the results. */ export declare const fold: (M: Identity) => (sa: _.Traversal) => (s: S) => A; /** * Get all the targets of a `Traversal`. */ export declare const getAll: (s: S) => (sa: _.Traversal) => readonly A[]; /** * Get all the targets of a `Traversal`. */ export declare const getAllList: (s: S) => (sa: _.Traversal) => L.List; export declare const TraversalURI = "monocle/Traversal"; export declare type TraversalURI = typeof TraversalURI; declare module "@effect-ts/core/Prelude/HKT" { interface URItoKind { [TraversalURI]: Traversal; } } export declare const Category: P.Category<[URI<"monocle/Traversal", {}>], P.Auto>; //# sourceMappingURL=index.d.ts.map