export type RecallConfig = {
    apiKey: string;
    baseUrl: string;
};
export declare function resolveRecallConfig(): RecallConfig | null;
export declare function recallConfigured(): boolean;
export type RecallBot = {
    id: string;
    status?: unknown;
    meeting_url?: unknown;
};
/** Send a bot into a meeting (Zoom/Teams/Meet link), with live transcription on. */
export declare function createBot(params: {
    meetingUrl: string;
    botName?: string;
}): Promise<RecallBot>;
export declare function getBot(botId: string): Promise<RecallBot>;
/** A speaker-labeled transcript segment. */
export type TranscriptSegment = {
    speaker: string | null;
    text: string;
};
/**
 * Fetch the current transcript as flat speaker+text segments. Normalizes a few
 * known shapes (words[] vs text) so the caller gets clean "Alice: …" lines.
 */
export declare function getTranscript(botId: string): Promise<TranscriptSegment[]>;
/** An in-meeting chat message someone typed. */
export type ChatMessage = {
    sender: string | null;
    text: string;
};
/** Fetch in-meeting chat messages (what participants TYPE in the meeting chat). */
export declare function getChatMessages(botId: string): Promise<ChatMessage[]>;
/** Post a chat message into the meeting (visible to participants). */
export declare function sendChatMessage(params: {
    botId: string;
    message: string;
    to?: string;
}): Promise<void>;
/** Leave the call (the bot exits). */
export declare function leaveBot(botId: string): Promise<void>;
