import { TypeOptions } from "class-transformer"; import { TypeValueThunk, ReturnTypeFunc } from "../"; export declare type MetadataKey = "design:type" | "design:paramtypes" | "design:returntype"; export declare const allowedTypes: Function[]; export declare const bannedTypes: Function[]; export interface TypeInfo { getType: TypeValueThunk; typeOptions: TypeOptions; } export interface GetTypeParams { metadataKey: MetadataKey; prototype: Object; propertyKey: string; typeOptions?: TypeOptions | null; returnTypeFunc?: ReturnTypeFunc; parameterIndex?: number; } export declare function findType({ metadataKey, prototype, propertyKey, typeOptions, parameterIndex, returnTypeFunc, }: GetTypeParams): TypeInfo; export declare class CannotDetermineTypeError extends Error { constructor(typeName: string, propertyKey: string, parameterIndex?: number); }