import { Request, ResponseToolkit } from 'hapi'; import { extractType, mappedSchema } from 'joi'; import 'joi-extract-type'; declare type Diff = ({ [P in T]: P; } & { [P in U]: never; } & { [x: string]: never; })[T]; declare type Omit = { [P in Diff]: T[P]; }; declare type IRequest = Omit & T; interface IHttp { request: IRequest>; reply: ResponseToolkit; } export default IHttp;