import { Get } from "../types/Get.js"; import { TypeGuard } from "../types/TypeGuard.js"; import { Json, JsonValue } from "../types/Json.js"; import { Optional } from "../types/Types.js"; import { Construct } from "../types/Constructor.js"; import { List } from "../types/List.js"; import { State } from "./State.js"; import { Property, PropertyOptions } from "./Property.js"; //#region src/utils/Mapper.d.ts export type Mapping = { property: string; in: (source?: Json, key?: string) => Optional; out: (source?: Json, key?: string) => Optional; }; export declare const isMapping: TypeGuard; export type MapStartFrom = 'scratch' | 'source'; export type MapOptions = { startFrom: MapStartFrom; }; export declare class Mapper extends State implements Mapping { readonly options: MapOptions; readonly property: string; protected readonly map: { item: (property: string, options?: PropertyOptions) => Property; ignore: (property?: string) => Mapping; skipIn: (property: string) => Mapping; skipOut: (property: string) => Mapping; func: (property: string, funcIn: Get, Json>, funcOut: Get, Json>) => Mapping; add: (funcIn: Get) => Mapping; map: (mapper: Construct, property?: string) => Mapping; propsToList: (...maps: Mapping[]) => Mapping; list: (mapper: Mapping, property: string) => Mapping; }; constructor(options?: MapOptions, property?: string); get properties(): List<[string, Mapping]>; get keys(): List; get columns(): List; private get droppedIn(); private get droppedOut(); in(from?: Json): Json; out(to?: Json): Json; toString(): string; } export declare const mappings: { item: (property: string, options?: PropertyOptions) => Property; ignore: (property?: string) => Mapping; skipIn: (property: string) => Mapping; skipOut: (property: string) => Mapping; func: (property: string, funcIn: Get, Json>, funcOut: Get, Json>) => Mapping; add: (funcIn: Get) => Mapping; map: (mapper: Construct, property?: string) => Mapping; propsToList: (...maps: Mapping[]) => Mapping; list: (mapper: Mapping, property: string) => Mapping; }; //#endregion //# sourceMappingURL=Mapper.d.ts.map