@tgsnake/core
Version:
Pure Telegram MTProto library for nodejs
54 lines (53 loc) • 1.59 kB
TypeScript
import * as TCPs from './TCP/index.js';
import { Buffer } from '../platform.node.js';
export declare const TCPModes: {
0: typeof TCPs.TCPFull;
1: typeof TCPs.TCPAbridged;
2: typeof TCPs.TCPIntermediate;
3: typeof TCPs.TCPPaddedIntermediate;
4: typeof TCPs.TCPAbridgedO;
5: typeof TCPs.TCPIntermediateO;
};
export type TypeTCP = TCPs.TCPFull | TCPs.TCPAbridged | TCPs.TCPIntermediate | TCPs.TCPAbridgedO | TCPs.TCPIntermediateO | TCPs.TCPPaddedIntermediate;
export declare enum TCP {
TCPFull = 0,
TCPAbridged = 1,
TCPIntermediate = 2,
TCPPaddedIntermediate = 3,
TCPAbridgedO = 4,
TCPIntermediateO = 5
}
export interface SocksProxyInterface {
hostname: string;
port: number;
socks: 4 | 5;
username?: string;
password?: string;
}
export interface MtprotoProxyInterface {
server: string;
port: number;
secret: string | Buffer;
}
export type ProxyInterface = SocksProxyInterface | MtprotoProxyInterface;
export declare class Connection {
maxRetries: number;
private _dcId;
private _test;
private _proxy?;
private _media;
private _mode;
private _address;
private _protocol;
private _connected;
private _local;
constructor(dcId: number, test: boolean, ipv6: boolean, proxy?: ProxyInterface, media?: boolean, mode?: TCP, local?: boolean);
connect(): Promise<true>;
close(): Promise<void>;
send(data: Buffer): Promise<void>;
recv(): Promise<Buffer<ArrayBufferLike> | undefined>;
toJSON(): {
[key: string]: any;
};
toString(): string;
}