import { RequestHandler } from 'express'; import { FindConditions, ObjectID, Repository } from 'typeorm'; export declare type Target = E extends new (...args: any[]) => any ? E : new (...args: any[]) => E; export declare type AnyTarget = new (...args: any[]) => any; export declare namespace Extract { type Entity = T extends Target ? E extends new (...args: any[]) => infer T ? T : never : never; type Repo = Repository>; type Request> = H extends (req: infer R) => any ? R : never; type Response> = H extends (req: any, res: infer R) => any ? R : never; } export declare type Criteria = string | number | Date | ObjectID | string[] | number[] | Date[] | ObjectID[] | FindConditions>;