import { ClassType } from "../graphq-compose-typescript"; import { StringKey } from "../utils"; import { Map } from "immutable"; declare const SOURCE_CONFIG_MAP: unique symbol; export interface SourceSpec { parameterIndex: number; property: string; } declare type SourceConfigMap = Map, SourceSpec>; export interface ClassWithSourceConfig extends ClassType { [SOURCE_CONFIG_MAP]?: SourceConfigMap; } export declare class SourceArgSpecKeeper { protected getConfigMap(type: ClassWithSourceConfig): SourceConfigMap; protected setConfigMap(type: ClassWithSourceConfig, map: SourceConfigMap): Map, SourceSpec>; addSourceArgSpec(constructor: ClassType, method: StringKey, spec: SourceSpec): void; getMethodSourceArgSpec(constructor: ClassType, method: StringKey): SourceSpec; } export {};