export interface GoalTurnOwner { goalID: string; revision: number; } interface OwnedPrompt { text: string; expiresAt: number; owner?: GoalTurnOwner; } export interface ToolCallOwner { messageID: string; owner: GoalTurnOwner; } export declare class TurnOwnership { #private; rememberPrompt(sessionID: string, text: string, owner?: GoalTurnOwner): void; consumePrompt(sessionID: string, text: string, userMessageID?: string): OwnedPrompt | null; rememberUserMessage(sessionID: string, userMessageID: string | undefined, owner: GoalTurnOwner): void; observeAssistant(info: any): GoalTurnOwner | undefined; observeToolPart(sessionID: string, part: any): ToolCallOwner | undefined; rememberActiveTool(sessionID: string, callID: string, allowPending?: boolean): ToolCallOwner | undefined; consumeToolCall(sessionID: string, callID: string): ToolCallOwner | undefined; assistantOwner(messageID: string | undefined): GoalTurnOwner | undefined; activeOwner(sessionID: string): GoalTurnOwner | undefined; activeMessageID(sessionID: string): string | undefined; isCurrentAssistant(messageID: string | undefined, expected: GoalTurnOwner): boolean | undefined; } export declare function goalTurnOwner(goal: { id: string; revision: number; }): GoalTurnOwner; export declare function sameGoalTurn(left: GoalTurnOwner | undefined, right: GoalTurnOwner | undefined): boolean; export {}; //# sourceMappingURL=ownership.d.ts.map