import type { Session, Message, MessagesPage, CreateSessionRequest, SendMessageRequest, SendMessageResponse, UpdateSessionRequest, SessionsPage } from '../../types/api'; /** * Soft target of persisted message parts per page. The route paginates by * parts (not messages) and treats this as a target: it completes the turn it * is in and returns at least two complete turns when available. */ export declare const DEFAULT_MESSAGE_PART_TARGET = 120; /** Server-side maximum accepted for the `limit` target. */ export declare const MAX_MESSAGE_PART_TARGET = 250; export declare const sessionsMixin: { getSessions(): Promise; getSessionsPage(params?: { limit?: number; offset?: number; sessionType?: "looper"; }): Promise; createSession(data: CreateSessionRequest): Promise; getSession(sessionId: string): Promise; updateSession(sessionId: string, data: UpdateSessionRequest): Promise; markSessionViewed(sessionId: string): Promise; deleteSession(sessionId: string): Promise<{ success: boolean; }>; createHandoff(sessionId: string): Promise<{ session: Session; sessionId: string; sourceSessionId: string; message: string; }>; abortSession(sessionId: string): Promise<{ success: boolean; }>; abortMessage(sessionId: string, _messageId: string): Promise<{ success: boolean; wasRunning: boolean; messageId: string; }>; getQueueState(sessionId: string): Promise<{ currentMessageId: string | null; queuedMessages: Array<{ messageId: string; position: number; }>; isRunning: boolean; }>; removeFromQueue(sessionId: string, messageId: string): Promise<{ success: boolean; removed: boolean; wasQueued?: boolean; wasRunning?: boolean; }>; sendQueuedMessageNow(sessionId: string, messageId: string): Promise<{ success: boolean; promoted: boolean; wasQueued?: boolean; wasRunning?: boolean; preemptedMessageId?: string | null; }>; getMessages(sessionId: string): Promise; /** * Fetches one newest-first page sized by a soft part target. `items` are * chronological within the page and a single parent message can appear in * several pages carrying a disjoint slice of its parts; `nextCursor` walks * further back in time. `partCount` is the authoritative number of * persisted parts the server placed in this page. */ getMessagePage(sessionId: string, params?: { limit?: number; cursor?: string | null; }): Promise; /** Fetches the full persisted content of a part the page route truncated. */ getMessagePartContent(sessionId: string, partId: string): Promise; sendMessage(sessionId: string, data: SendMessageRequest): Promise; getStreamUrl(sessionId: string): string; retryMessage(sessionId: string, messageId: string): Promise<{ success: boolean; messageId: string; }>; }; //# sourceMappingURL=sessions.d.ts.map