import { InworldPacket as ProtoPacket } from '../../../proto/ai/inworld/packets/packets.pb.js';
import { InworldPacketType } from '../../common/data_structures/index.js';
import { Character } from '../character.entity.js';
import { ItemOperation } from '../entities/item_operation.js';
import { AudioEvent } from './audio.entity.js';
import { CancelResponsesEvent } from './cancel_responses.entity.js';
import { ControlEvent } from './control.entity.js';
import { EmotionEvent } from './emotion/emotion.entity.js';
import { LatencyReportEvent } from './latency/latency_report.entity.js';
import { LogsEvent } from './log.entity.js';
import { NarratedAction } from './narrated_action.entity.js';
import { OperationStatusEvent } from './operation_status.entity.js';
import { PacketId } from './packet_id.entity.js';
import { Routing } from './routing.entity.js';
import { SilenceEvent } from './silence.entity.js';
import { TaskEvent } from './task.entity.js';
import { TextEvent } from './text.entity.js';
import { TriggerEvent } from './trigger.entity.js';
export interface InworldPacketProps {
    audio?: AudioEvent;
    cancelResponses?: CancelResponsesEvent;
    control?: ControlEvent;
    task?: TaskEvent;
    trigger?: TriggerEvent;
    emotions?: EmotionEvent;
    log?: LogsEvent;
    packetId: PacketId;
    routing: Routing;
    silence?: SilenceEvent;
    text?: TextEvent;
    narratedAction?: NarratedAction;
    sceneMutation?: SceneMutation;
    entitiesItemsOperation?: ItemOperation;
    operationStatus?: OperationStatusEvent;
    latencyReport?: LatencyReportEvent;
    date: string;
    type: InworldPacketType;
}
export interface SceneMutation {
    name?: string;
    description?: string;
    displayName?: string;
    addedCharacterNames?: string[];
    removedCharacterIds?: string[];
    loadedCharacters?: Character[];
}
export declare class InworldPacket {
    private type;
    readonly date: string;
    readonly packetId: PacketId;
    readonly routing: Routing;
    readonly text: TextEvent;
    readonly audio: AudioEvent;
    readonly task: TaskEvent;
    readonly trigger: TriggerEvent;
    readonly control: ControlEvent;
    readonly emotions: EmotionEvent;
    readonly log: LogsEvent;
    readonly silence: SilenceEvent;
    readonly narratedAction: NarratedAction;
    readonly cancelResponses: CancelResponsesEvent;
    readonly sceneMutation: SceneMutation;
    readonly entitiesItemsOperation: ItemOperation;
    readonly operationStatus: OperationStatusEvent;
    readonly latencyReport: LatencyReportEvent;
    constructor(props: InworldPacketProps);
    isText(): boolean;
    isAudio(): boolean;
    isControl(): boolean;
    isTask(): boolean;
    isTrigger(): boolean;
    isEmotion(): boolean;
    isLog(): boolean;
    isInteractionEnd(): boolean;
    isTTSPlaybackMute(): boolean;
    isTTSPlaybackUnmute(): boolean;
    isWarning(): boolean;
    isSilence(): boolean;
    isCancelResponse(): boolean;
    isNarratedAction(): boolean;
    isSceneMutationRequest(): boolean;
    isSceneMutationResponse(): boolean;
    isEntitiesItemOperation(): boolean;
    isOperationStatus(): boolean;
    isLatencyReport(): boolean;
    isPingPongReport(): boolean;
    isPerceivedLatencyReport(): boolean;
    isSpeechRecognitionResult(): boolean;
    isPlayerTypeInText(): boolean;
    isNonSpeechPacket(): boolean;
    isPushToTalkAudioSessionStart(): boolean;
    isAudioSessionEnd(): boolean;
    shouldHaveConversationId(): boolean;
    static fromProto(proto: ProtoPacket): InworldPacket;
    private static getType;
}
