import type { Result } from '../../libs/standard-result'; /** * A read-only lens (no `set` function) that returns an Either, with a string error message. * It returns an Either.Left if the lens had an error getting to the data within the given * structure, and an Either.Right with the value if it succeeded. */ export interface ResultViewLens { get: (data: S) => Result; } /** * An either view lens with no path in it * * @return */ export declare const id: () => ResultViewLens; /** * A lens for a single path * * @param key * @return */ export declare const prop: (key: K) => ResultViewLens; /** * Combines two lenses to get one lens * * @param lens * @return */ export declare const composeLens: (lens: ResultViewLens) => (originalLens: ResultViewLens) => ResultViewLens; export declare const fromPath: (...path: readonly string[]) => ResultViewLens;