import { FLOW_C_REFERENCE_WRITING_VERSION, FLOW_C_REFERENCE_TOPIC_WRITING_VERSION } from "./reference-writing.js"; export declare const FLOW_C_CONTENT_STRATEGY_VERSION = "flow-c-content-strategy-v1"; export declare const FLOW_C_GENERATED_MONTAGE_VERSION = "flow-c-generated-montage-v1"; export declare const FLOW_C_GENERATED_MONTAGE_STYLE = "generated-montage"; export declare const FLOW_C_GENERATED_MONTAGE_VERSION_UNSUPPORTED = "FLOW_C_GENERATED_MONTAGE_VERSION_UNSUPPORTED"; export declare const FLOW_C_VOICE_PACING_QUICK_WORDS_PER_SECOND = 3; export declare const FLOW_C_VOICE_PACING_REPAIR_MIN_WORDS_PER_SECOND = 4; export declare const FLOW_C_VOICE_PACING_REPAIR_MIN_EXCESS_WORDS = 3; export type FlowCContentStrategy = { contractVersion: typeof FLOW_C_CONTENT_STRATEGY_VERSION; mode: "smart-diverse" | "best-match"; seed: string; referenceWritingVersion?: typeof FLOW_C_REFERENCE_WRITING_VERSION | typeof FLOW_C_REFERENCE_TOPIC_WRITING_VERSION; }; export type FlowCContentDirection = { contractVersion: typeof FLOW_C_CONTENT_STRATEGY_VERSION; mode: FlowCContentStrategy["mode"]; directionKey: string; intentLabel: string; brief: string; selectionReason: string; variationSeed: string; recentAvoidance?: { sameProductSelections: number; matchedDirectionUses: number; policy: "soft-penalty-only"; }; }; export type FlowCContentSummary = { ordinal: number; productIndex: number; opening: string; proof: string; voiceover: string; }; export type FlowCContentAdvisory = { ordinal: number; code: "voice_pacing" | "voice_without_visible_evidence" | "ending_frame_unanchored" | "repeated_opening"; segment?: number; shot?: number; wordCount?: number; suggestedMaxWords?: number; durationSeconds?: number; matchedOrdinal?: number; }; export type FlowCVoicePacingRepairIssue = Required> & { code: "voice_pacing"; endShot?: number; }; /** Explicit styles are capability-versioned; an unknown pair must never silently fall back. */ export declare function flowCGeneratedMontage(value: unknown): boolean; /** A short same-turn writing/review sequence. It never creates another model stage or output field. */ export declare function flowCContentWritingReviewPrompt(strategy: FlowCContentStrategy | null, options: { frameworkOrdinals: readonly number[]; }): string; /** Rules for the separately selected generated-montage content style. */ export declare function flowCGeneratedMontagePrompt(ordinals: readonly number[], segmentSeconds?: 10 | 15): string; /** Missing/unknown versions keep historical tasks on their exact original prompt. */ export declare function flowCContentStrategy(value: unknown): FlowCContentStrategy | null; export declare function flowCContentDirection(value: unknown, strategy: FlowCContentStrategy | null): FlowCContentDirection | null; /** Summarize actual rendered output, never the seed-labelled candidate fingerprint. */ export declare function summarizeFlowCContentJob(value: unknown): FlowCContentSummary | null; /** Only centrally acknowledged ordinals are durable avoidance evidence. */ export declare function mergeFlowCContentSummaries(values: unknown, jobs: unknown, acceptedOrdinals: readonly number[]): FlowCContentSummary[]; /** Advisory only: never rewrite, reject, or claim semantic acceptance of a script. */ export declare function flowCContentAdvisories(jobs: unknown, strategy: FlowCContentStrategy | null, options?: { targetLanguage?: unknown; recentScripts?: unknown; }): FlowCContentAdvisory[]; /** * A deliberately narrower pre-delivery repair trigger than the public pacing * advisory. It only covers explicit English/Spanish text that is both very fast * and materially over a quick three-words-per-second writing budget. Normal * quick speech remains advisory, and visual cuts never become speech deadlines. */ export declare function flowCVoicePacingRepairIssues(jobs: unknown, options?: { targetLanguage?: unknown; }): FlowCVoicePacingRepairIssue[]; /** Compact, text-bearing repair input derived only from an already validated draft. */ export declare function flowCVoicePacingRepairScaffold(value: unknown): { segments: { voiceCue: unknown; endingState: { [k: string]: unknown; }; shots: { [k: string]: unknown; }[]; }[]; ordinal: unknown; productIndex: unknown; sellingFormId: unknown; voiceProfile: { [k: string]: unknown; }; openingState: { openingFrame: unknown; }; } | { segment: { voiceCue: unknown; endingState: { [k: string]: unknown; }; shots: { [k: string]: unknown; }[]; }; ordinal: unknown; productIndex: unknown; sellingFormId: unknown; voiceProfile: { [k: string]: unknown; }; openingState: { openingFrame: unknown; }; }; /** One bounded correction turn; the caller still enforces VO-only projection. */ export declare function flowCVoicePacingRepairPrompt(jobs: unknown, options?: { targetLanguage?: unknown; frameworkOrdinals?: readonly number[]; segmentSeconds?: 10 | 15; }): string; export declare function flowCContentMethodPrompt(strategy: FlowCContentStrategy | null, options: { recentScripts?: unknown; productIndexes: number[]; ordinals: number[]; frameworkOrdinals: number[]; montageOrdinals?: number[]; segmentSeconds?: 10 | 15; }): string;