import { Bytes, ISyncWritable } from '@fuman/io';
import { ICryptoProvider } from '../../utils/index.js';
import { IPacketCodec } from './abstract.js';
/**
 * Intermediate packet codec.
 * See https://core.telegram.org/mtproto/mtproto-transports#intermediate
 */
export declare class IntermediatePacketCodec implements IPacketCodec {
    tag(): Uint8Array;
    decode(reader: Bytes, eof: boolean): Uint8Array | null;
    encode(frame: Uint8Array, into: ISyncWritable): void;
    reset(): void;
}
/**
 * Padded intermediate packet codec.
 * See https://core.telegram.org/mtproto/mtproto-transports#padded-intermediate
 */
export declare class PaddedIntermediatePacketCodec extends IntermediatePacketCodec implements IPacketCodec {
    tag(): Uint8Array;
    private _crypto;
    setup?(crypto: ICryptoProvider): void;
    encode(frame: Uint8Array, into: ISyncWritable): void;
}
