import type { PlatformAdapter, OutputStream } from '../../platform/index.js'; import { buildQuestionGroupBlocks, buildQuestionModalDefinition } from '../../platform/index.js'; declare function formatGroupResponse(group: any): string; declare function isExpired(record: any): boolean; declare function getGroup(groupId: any): any; declare function deleteGroup(groupId: any): void; declare function getPendingQuestion(pendingId: any): any; /** Create a question group from a PreToolUse hook request (not from Claude output). * @param extensionUiId — original PI extension_ui_request id; when set, tryResolveHook * uses this for sendExtensionUiResponse instead of the hookRequestId. */ declare function createHookGroup(requestId: any, channel: any, sessionId: any, questions: any, extensionUiId?: string, threadId?: string | null): { groupId: string; sessionId: any; toolUseId: any; channel: any; messageTs: any; responseMessageTs: any; hookRequestId: any; extensionUiId: string; threadId: string; questions: any; answers: Map; createdAt: number; }; /** Register a callback to be called when all hook-mode answers are collected. */ declare function registerHookResolver(requestId: any, resolver: any): void; /** If the group is in hook mode and all answers collected, resolve the hook and return true. * For PI backend: if a running execution with an agentProcess exists, send extension_ui_response directly. */ declare function tryResolveHook(group: any): boolean; declare function sendMessages(result: any, channel: any, adapter: PlatformAdapter, messageTs: any, threadAnchorId?: any, stream?: OutputStream | null): Promise; export { sendMessages, formatGroupResponse, buildQuestionGroupBlocks, buildQuestionModalDefinition, isExpired, getGroup, deleteGroup, getPendingQuestion, createHookGroup, registerHookResolver, tryResolveHook, };