import * as t from "io-ts"; import { StrKey, Dict } from "./utils/util-types"; import { AliasHierarchyVisitor } from "./AliasHierarchyVisitor"; import { MappedField } from "./MappedField"; import { TypeSpec } from "./utils/types"; import { GraphQLInputType, GraphQLOutputType } from "graphql"; declare const BaseFieldMappingRT: t.IntersectionC<[t.TypeC<{ /** * @memberof BaseFieldMapping */ type: import("./utils/util-types").InstanceType>; }>, t.PartialC<{ /** * @memberof BaseFieldMapping */ exposed: t.BooleanC; /** * @memberof BaseFieldMapping */ description: t.StringC; /** * @memberof BaseFieldMapping */ getColumnMappingList: t.FunctionC; }>]>; declare const ColumnFieldMappingRT: t.IntersectionC<[t.IntersectionC<[t.TypeC<{ /** * @memberof BaseFieldMapping */ type: import("./utils/util-types").InstanceType>; }>, t.PartialC<{ /** * @memberof BaseFieldMapping */ exposed: t.BooleanC; /** * @memberof BaseFieldMapping */ description: t.StringC; /** * @memberof BaseFieldMapping */ getColumnMappingList: t.FunctionC; }>]>, t.PartialC<{ sourceColumn: t.StringC; sourceTable: t.StringC; isPrimary: t.BooleanC; fromSource: t.FunctionC; toSource: t.FunctionC; }>]>; declare const ComputedFieldMappingRT: t.IntersectionC<[t.IntersectionC<[t.TypeC<{ /** * @memberof BaseFieldMapping */ type: import("./utils/util-types").InstanceType>; }>, t.PartialC<{ /** * @memberof BaseFieldMapping */ exposed: t.BooleanC; /** * @memberof BaseFieldMapping */ description: t.StringC; /** * @memberof BaseFieldMapping */ getColumnMappingList: t.FunctionC; }>]>, t.IntersectionC<[t.TypeC<{ dependencies: t.ArrayC; derive: t.FunctionC; }>, t.PartialC<{ reduce: t.FunctionC; }>]>]>; /** * * @api-category ConfigType */ export interface BaseFieldMapping extends t.TypeOf { type: TypeSpec; getColumnMappingList?: (aliasHierarchyVisitor: AliasHierarchyVisitor, aliasColumnsToTableScope: boolean) => ColumnMapping[]; } /** * @api-category ConfigType */ declare type ColumnFieldMapping$1 = BaseFieldMapping & t.TypeOf; export interface ColumnFieldMapping extends ColumnFieldMapping$1 { fromSource?: (i: any) => TMapped; toSource?: (i: TMapped) => any; } /** * @api-category ConfigType */ export declare type ComputedFieldMapping = BaseFieldMapping & t.TypeOf & { dependencies: Array>; derive: (args: TArgs) => TMapped; reduce?: (args: TArgs) => Dict; }; export declare const FieldMappingRT: t.UnionC<[t.IntersectionC<[t.IntersectionC<[t.TypeC<{ /** * @memberof BaseFieldMapping */ type: import("./utils/util-types").InstanceType>; }>, t.PartialC<{ /** * @memberof BaseFieldMapping */ exposed: t.BooleanC; /** * @memberof BaseFieldMapping */ description: t.StringC; /** * @memberof BaseFieldMapping */ getColumnMappingList: t.FunctionC; }>]>, t.PartialC<{ sourceColumn: t.StringC; sourceTable: t.StringC; isPrimary: t.BooleanC; fromSource: t.FunctionC; toSource: t.FunctionC; }>]>, t.IntersectionC<[t.IntersectionC<[t.TypeC<{ /** * @memberof BaseFieldMapping */ type: import("./utils/util-types").InstanceType>; }>, t.PartialC<{ /** * @memberof BaseFieldMapping */ exposed: t.BooleanC; /** * @memberof BaseFieldMapping */ description: t.StringC; /** * @memberof BaseFieldMapping */ getColumnMappingList: t.FunctionC; }>]>, t.IntersectionC<[t.TypeC<{ dependencies: t.ArrayC; derive: t.FunctionC; }>, t.PartialC<{ reduce: t.FunctionC; }>]>]>]>; /** * @api-category ConfigType */ export declare type FieldMappingArgs> = T extends FieldMapping ? I : never; export interface ColumnMapping { field: MappedField; columnRef: string; columnAlias: string; } /** * @api-category ConfigType */ export declare type FieldMapping = ColumnFieldMapping | ComputedFieldMapping; export {};