import { ContextType } from "../types";
import { ExecutionContextInterface, Type, HttpArgumentsHostInterface, WsArgumentsHost } from "../contracts";
export declare class ExecutionContextHost implements ExecutionContextInterface {
    private readonly args;
    private readonly constructorRef;
    private readonly handler;
    private contextType;
    constructor(args: any[], constructorRef?: Type<any>, handler?: Function);
    setType<T extends string = ContextType>(type: T): void;
    getType<T extends string = ContextType>(): T;
    getClass<T = any>(): Type<T>;
    getHandler(): Function;
    getArgs<T extends Array<any> = any[]>(): T;
    getArgByIndex<T = any>(index: number): T;
    getHttp(): HttpArgumentsHostInterface;
    switchToWs(): WsArgumentsHost;
}
//# sourceMappingURL=execution-context-host.d.ts.map