/**
 * Queue State Store - 队列状态管理
 *
 * 管理不同状态的消息队列，包括待发送、发送中、流式传输中和失败队列
 * 特色功能：支持待发送消息的优先级排序和拖拽排序
 */
import { Status, type Attachment } from "../types";
export interface PendingMessage {
    attachments?: Attachment[];
    content: string;
    id: string;
    modelId?: string;
    priority?: number;
    timestamp: string;
}
export declare const queueStore$: import("@legendapp/state").Observable<{
    failedQueue: string[];
    sendingQueue: string[];
    streamingQueue: string[];
    pendingQueue: PendingMessage[];
}>;
export declare const queueComputed$: import("@legendapp/state").Observable<{
    queueStatus: () => {
        sendingCount: number;
        streamingCount: number;
        failedCount: number;
        pendingCount: number;
    };
    totalQueueCount: () => number;
    hasPendingMessages: () => boolean;
    nextPendingMessage: () => PendingMessage | null;
    sortedPendingMessages: () => PendingMessage[];
}>;
export declare const queueActions: {
    enqueueMessage: (messageId: string, queueType: "sendingQueue" | "streamingQueue" | "failedQueue") => void;
    dequeueMessage: (messageId: string, queueType: "sendingQueue" | "streamingQueue" | "failedQueue") => void;
    clearQueue: (queueType: "sendingQueue" | "streamingQueue" | "failedQueue") => void;
    clearAllQueues: () => void;
    resetAllQueues: () => void;
    getQueueStatus: () => {
        sendingCount: number;
        streamingCount: number;
        failedCount: number;
    };
    updateMessageStatus: (messageId: string, status: (typeof Status)[keyof typeof Status]) => void;
    addPendingMessage: (message: PendingMessage) => void;
    removePendingMessage: (messageId: string) => void;
    clearPendingQueue: () => void;
    dequeuePendingMessage: () => PendingMessage | null;
    updatePendingMessagePriority: (messageId: string, priority: number) => void;
    movePendingMessage: (fromIndex: number, toIndex: number) => void;
    reorderPendingQueue: (newOrder: PendingMessage[]) => void;
    jumpQueue: (messageId: string) => boolean;
};
