import { StreamTranslationResponse, SubtitlesResponse, VideoTranslationAudioResponse, VideoTranslationResponse, YandexSessionResponse } from "@vot.js/shared/protos";
import type { SessionModule } from "@vot.js/shared/types/secure";
import type { AudioBufferObject, PartialAudioObject, TranslationExtraOpts, TranslationHelp } from "./types/yandex.js";
export declare abstract class YandexVOTProtobuf {
    static encodeTranslationRequest(url: string, duration: number, requestLang: string, responseLang: string, translationHelp: TranslationHelp[] | null, { forceSourceLang, wasStream, videoTitle, bypassCache, useNewModel, }?: TranslationExtraOpts): Uint8Array<ArrayBufferLike>;
    static decodeTranslationResponse(response: ArrayBuffer): VideoTranslationResponse;
    static encodeTranslationAudioRequest(url: string, translationId: string, audioBuffer: AudioBufferObject, partialAudio?: PartialAudioObject): Uint8Array<ArrayBufferLike>;
    static decodeTranslationAudioResponse(response: ArrayBuffer): VideoTranslationAudioResponse;
    static encodeSubtitlesRequest(url: string, requestLang: string): Uint8Array<ArrayBufferLike>;
    static decodeSubtitlesResponse(response: ArrayBuffer): SubtitlesResponse;
    static encodeStreamPingRequest(pingId: number): Uint8Array<ArrayBufferLike>;
    static encodeStreamRequest(url: string, requestLang: string, responseLang: string): Uint8Array<ArrayBufferLike>;
    static decodeStreamResponse(response: ArrayBuffer): StreamTranslationResponse;
}
export declare abstract class YandexSessionProtobuf {
    static encodeSessionRequest(uuid: string, module: SessionModule): Uint8Array<ArrayBufferLike>;
    static decodeSessionResponse(response: ArrayBuffer): YandexSessionResponse;
}
//# sourceMappingURL=protobuf.d.ts.map