import type { SqliteDatabase } from '../db/adapter.js'; import type { AkinatorContext, AkinatorResult, TaskProfile } from './types.js'; export interface StartAkinatorInput { workspace: string; task: string; profileHints?: unknown; now?: string; idFactory?: () => string; } export interface AnswerAkinatorInput { workspace: string; sessionId: string; questionId: keyof TaskProfile; value: string; now?: string; } export interface AkinatorContextInput { workspace: string; sessionId: string; } export interface AkinatorAnswerTransactionResult { readonly result: AkinatorResult; readonly replayed: boolean; } /** Caller-owned transaction primitive. It never begins, commits, or rolls back. */ export declare function startAkinatorInTransaction(database: SqliteDatabase, input: StartAkinatorInput): AkinatorResult; export declare function startAkinatorService(database: SqliteDatabase, input: StartAkinatorInput): Promise; /** Caller-owned transaction primitive. It never begins, commits, or rolls back. */ export declare function answerAkinatorInTransaction(database: SqliteDatabase, input: AnswerAkinatorInput): AkinatorAnswerTransactionResult; export declare function answerAkinatorService(database: SqliteDatabase, input: AnswerAkinatorInput): Promise; export declare function getAkinatorContextService(database: SqliteDatabase, input: AkinatorContextInput): Promise; //# sourceMappingURL=service.d.ts.map