/**
 * Inter-dialog formatting module.
 *
 * Naming + storage rules:
 * - "Record"/"_record" is reserved for persisted data records (source of truth).
 * - This module builds canonical transfer payload text from structured fields.
 * - Source-dialog model raw must stay in source records; do not rewrite it here.
 *
 * Transfer payload contract:
 * - Assignment/call payloads are generated from mention list + tellask content.
 * - Tellask-response payloads include runtime markers + response body + call-site summary.
 * - The same transfer payload should be used for both model context and UI rendering.
 */
import type { LanguageCode } from '@longrun-ai/kernel/types/language';
export type InterDialogCallContent = {
    callName: 'tellaskBack' | 'tellask' | 'tellaskSessionless' | 'askHuman' | 'freshBootsReasoning';
    mentionList?: string[];
    tellaskContent: string;
};
export type InterDialogParticipants = {
    fromAgentId: string;
    toAgentId: string;
};
export type SideDialogAssignmentFormatInput = InterDialogParticipants & InterDialogCallContent & {
    language?: LanguageCode;
    collectiveTargets?: string[];
    sessionSlug?: string;
    fbrRound?: {
        iteration: number;
        total: number;
    };
};
export type AskerDialogCallPromptInput = {
    fromAgentId: string;
    toAgentId: string;
    sideDialogRequest: InterDialogCallContent;
    askerDialogAssignment: InterDialogCallContent;
    language?: LanguageCode;
};
export type TellaskResponseFormatInput = {
    callName: 'tellaskBack' | 'tellask' | 'tellaskSessionless' | 'freshBootsReasoning';
    callId: string;
    responderId: string;
    tellaskerId: string;
    mentionList?: string[];
    sessionSlug?: string;
    tellaskContent: string;
    responseBody: string;
    status?: 'completed' | 'failed';
    deliveryMode?: 'reply_tool' | 'direct_fallback';
    directFallbackSource?: 'saying' | 'thinking_only';
    language?: LanguageCode;
};
export type TellaskReplacementNoticeFormatInput = {
    responderId: string;
    tellaskerId: string;
    mentionList?: string[];
    sessionSlug?: string;
    tellaskContent: string;
    responseBody: string;
    language?: LanguageCode;
};
export type TellaskCarryoverResultFormatInput = {
    callSiteCourse: number;
    callName: 'tellask' | 'tellaskSessionless' | 'askHuman' | 'freshBootsReasoning';
    callId: string;
    responderId: string;
    mentionList?: string[];
    sessionSlug?: string;
    tellaskContent: string;
    responseBody: string;
    status: 'completed' | 'failed';
    language?: LanguageCode;
};
export type RuntimeTransferMarkers = Readonly<{
    tellaskBack: string;
    finalCompleted: string;
    fbrDirectReply: string;
    fbrReasoningOnly: string;
}>;
export declare function getRuntimeTransferMarkers(language: LanguageCode): RuntimeTransferMarkers;
export declare function formatAssignmentFromAskerDialog(input: SideDialogAssignmentFormatInput): string;
export declare function formatUpdatedAssignmentFromAskerDialog(input: SideDialogAssignmentFormatInput): string;
export declare function formatAskerDialogCallPrompt(input: AskerDialogCallPromptInput): string;
export declare function formatTellaskResponseContent(input: TellaskResponseFormatInput): string;
export declare function formatTeammateResponseContent(input: TellaskResponseFormatInput): string;
export declare function formatTellaskReplacementNoticeContent(input: TellaskReplacementNoticeFormatInput): string;
export declare function formatTellaskCarryoverResultContent(input: TellaskCarryoverResultFormatInput): string;
