import { PropertyTypeKeeper } from "./metadata"; import { ComposeInputType } from "graphql-compose"; import { StringKey } from "./utils"; import { ClassType, InputTypeFn, TypeFn } from "./graphq-compose-typescript"; import { ComposeType, ProvidenTypeConvertor } from "./providenTypeConvertor"; export declare class PropertyTypeConvertor { protected typeConvertor: ProvidenTypeConvertor; protected propertyTypeKeeper: PropertyTypeKeeper; constructor(typeConvertor: ProvidenTypeConvertor, propertyTypeKeeper: PropertyTypeKeeper); getPropertyType(constructor: ClassType, key: string, typeFn?: TypeFn): T; } export declare class ArgumentTypeConvertor { protected propertyTypeKeeper: PropertyTypeKeeper; protected typeConvertor: ProvidenTypeConvertor; constructor(propertyTypeKeeper: PropertyTypeKeeper, typeConvertor: ProvidenTypeConvertor); getArgumentInputType(constructor: ClassType, key: StringKey, index: number, typeFn: InputTypeFn): ComposeInputType; }