/// import { ObfuscatedConnection } from "./Connection"; import { AbridgedPacketCodec } from "./TCPAbridged"; import { Logger, PromisedNetSockets, PromisedWebSockets } from "../../extensions"; export interface ProxyInterface { socksType?: 4 | 5; ip: string; port: number; secret?: string; MTProxy?: boolean; timeout?: number; username?: string; password?: string; } declare class MTProxyIO { header?: Buffer; private connection; private _encrypt?; private _decrypt?; private _packetClass; private _secret; private _dcId; constructor(connection: TCPMTProxy); initHeader(): Promise; read(n: number): Promise; write(data: Buffer): void; } interface TCPMTProxyInterfaceParams { ip: string; port: number; dcId: number; loggers: Logger; proxy: ProxyInterface; socket: typeof PromisedNetSockets | typeof PromisedWebSockets; testServers: boolean; } export declare class TCPMTProxy extends ObfuscatedConnection { ObfuscatedIO: typeof MTProxyIO; _secret: Buffer; constructor({ ip, port, dcId, loggers, proxy, socket, testServers, }: TCPMTProxyInterfaceParams); } export declare class ConnectionTCPMTProxyAbridged extends TCPMTProxy { PacketCodecClass: typeof AbridgedPacketCodec; } export {};