import { ISyncWritable, Bytes } from '@fuman/io'; import { ICryptoProvider } from '../../utils/crypto/abstract.js'; import { Logger } from '../../utils/logger.js'; import { IPacketCodec } from '../transports/index.js'; export declare function generateFakeTlsHeader(domain: Uint8Array, secret: Uint8Array, crypto: ICryptoProvider): Promise; /** * Fake TLS packet codec, used for some MTProxies. * * Must only be used inside {@link MtProxyTcpTransport} * @internal */ export declare class FakeTlsPacketCodec implements IPacketCodec { readonly _inner: IPacketCodec; constructor(_inner: IPacketCodec); private _isFirstTls; setup?(crypto: ICryptoProvider, log: Logger): void; private _tag; tag(): Promise; encode(packet: Uint8Array, into: ISyncWritable): Promise; decode(reader: Bytes, eof: boolean): Promise; reset(): void; }