import type { ChatSessionStore } from "../../chat/chat-session-store.js";
import type { Clark } from "../clark-fsm.js";
import type { AiChangeInfoPush, AiMessagePush, EditorClientMethods } from "@superblocksteam/library-shared/types";
export declare const sendInteractiveMessageChannel: (clark: Clark, chatSessionStore: ChatSessionStore) => (payload: AiMessagePush, delay?: number, immediate?: boolean) => Promise<{
    success: boolean;
    message: string;
} | {
    success: boolean;
    message?: undefined;
}>;
export declare const sendUserMessageChannel: (clark: Clark, chatSessionStore: ChatSessionStore) => (payload: AiMessagePush, delay?: number, immediate?: boolean) => Promise<unknown>;
export declare const sendUserGenerationStateChannel: (clark: Clark) => (payload: Parameters<EditorClientMethods["aiSetGenerationState"]>[0]) => Promise<void>;
/**
 * Clears the pendingToolPermissionRequest from the FSM context and notifies the
 * UI so it removes any stale permission prompt from the chat.
 */
export declare const clearPendingToolPermissionRequest: (clark: Clark) => void;
export declare const sendChangeInfoChannel: (clark: Clark, chatSessionStore: ChatSessionStore) => (payload: AiChangeInfoPush, delay?: number) => Promise<unknown>;
//# sourceMappingURL=peer.d.ts.map