import { IEditable } from '../../types'; import { ILensImpl } from './lensesImpl'; import { ILens, ArrayElement, IMapElement } from './types'; export declare class LensBuilder implements ILens { readonly lens: ILensImpl; readonly handleValueChange: (newValue: TFocused) => void; constructor(lens: ILensImpl); get(): TFocused; key(id: TId): LensBuilder>; set(value: TFocused): void; update(fn: (current: TFocused) => TFocused): void; static MAX_CACHE_SIZE: number; private cache; compose(lens: ILensImpl, cacheKey?: any): LensBuilder; prop(name: K): LensBuilder>; index(index: number): LensBuilder>; onChange(fn: (oldValue: TFocused, newValue: TFocused) => TFocused): LensBuilder; default(value: TFocused): LensBuilder; toProps(): IEditable; } //# sourceMappingURL=LensBuilder.d.ts.map