/** * @since 0.5.0 */ import * as t from 'io-ts' import { Lens } from 'monocle-ts' /** * @since 0.5.0 */ export interface ExactHasLenses extends t.ExactType {} /** * @since 0.5.0 */ export declare type HasLenses = t.InterfaceType | ExactHasLenses /** * Return a `Lens` for each prop * * @example * import * as t from 'io-ts' * import { getLenses } from 'io-ts-types/lib/getLenses' * * const Person = t.type({ * name: t.string, * age: t.number * }) * * const lenses = getLenses(Person) * assert.strictEqual(lenses.age.get({ name: 'Giulio', age: 44 }), 44) * * @since 0.5.0 */ export declare function getLenses( codec: C ): { [K in keyof t.TypeOf]: Lens, t.TypeOf[K]> }