import type { Optic, TryA, TryT, A, B, S, T } from './optic.js'; import type { Expected } from './errors.js'; import { Eq } from '../utils.js'; interface RewriteA extends A { 0: TryA, Focus> extends true ? Focus : Expected>>; } interface RewriteT extends T { 0: TryT, Focus> extends true ? Eq, Focus> extends true ? Focus : Expected> : Expected>>; } export declare const rewrite: (read: (value: Focus) => Focus) => Optic<'Lens', RewriteA, RewriteT>; export {};