import type { Optic, A, B, S, T, TryA, TryT } from './optic.js'; import type { Expected } from './errors.js'; interface WhenA extends A { 0: TryA extends Value ? Value : Expected>>; } interface WhenT extends T { 0: TryT extends Value ? Value | B : Expected>>; } export declare const when: (predicate: (value: Value) => boolean) => Optic<'Prism', WhenA, WhenT>; export {};