import { IImmutableMap, IMap, Metadata } from '../../types'; import { ValidationState } from './types'; export interface ILensImpl { get(big: TBig | null): TSmall | null; set(big: TBig | null, small: TSmall): TBig; getValidationState?(big?: ValidationState): ValidationState | undefined; getMetadata?(big?: Metadata): Metadata | undefined; } export declare const identityLens: ILensImpl; export declare function identity(): ILensImpl; export declare function prop(name: TKey): ILensImpl; export declare function key(id: TId): ILensImpl | IImmutableMap, TItem>; export declare function index(num: number): ILensImpl; export declare function defaultValue(value: A): ILensImpl; export declare function compose(left: ILensImpl, right: ILensImpl): ILensImpl; //# sourceMappingURL=lensesImpl.d.ts.map