import { type QueryClient } from '@tanstack/react-query';
export type QueueState = {
    currentMessageId: string | null;
    queuedMessages: Array<{
        messageId: string;
        position: number;
    }>;
    queueLength: number;
    isRunning: boolean;
};
export declare function normalizeQueueState(state: {
    currentMessageId: string | null;
    queuedMessages: Array<{
        messageId: string;
        position: number;
    }>;
    isRunning?: boolean;
}): QueueState;
export declare function optimisticallyQueueMessage(queryClient: QueryClient, sessionId: string, messageId: string): void;
export declare function useQueueState(sessionId: string | undefined): QueueState;
export declare function useMessageQueuePosition(sessionId: string | undefined, messageId: string): {
    isQueued: boolean;
    isRunning: boolean;
    position: number | null;
};
//# sourceMappingURL=useQueueState.d.ts.map