export interface ApiResponse<T> {
    data?: T;
    error?: ApiError;
    success: boolean;
    timestamp: string;
}
export interface ApiError {
    code: string;
    details?: unknown;
    message: string;
    statusCode?: number;
}
export interface SendMessageRequest {
    attachments?: string[];
    chatId: string;
    content: string;
    mentions?: Array<{
        endIndex: number;
        itemId: string;
        startIndex: number;
    }>;
    parentMessageId?: string;
    role?: string;
}
export interface StreamMessageRequest extends SendMessageRequest {
    maxTokens?: number;
    model?: string;
    stream: true;
    temperature?: number;
}
export declare enum WSEventType {
    Connect = "connect",
    Disconnect = "disconnect",
    Error = "error",
    Message = "message",
    StreamChunk = "stream_chunk",
    StreamEnd = "stream_end",
    StreamStart = "stream_start",
    Typing = "typing"
}
export interface WSEvent<T = unknown> {
    payload: T;
    timestamp: string;
    type: WSEventType;
}
