export declare const FLOW_C_REFERENCE_TOPIC_PLAN_VERSION = "flow-c-reference-topic-plan-v1"; export declare const FLOW_C_REFERENCE_TOPIC_PLAN_INVALID = "FLOW_C_REFERENCE_TOPIC_PLAN_INVALID"; export declare const FLOW_C_REFERENCE_TOPIC_SOURCE_MAX_CHARS = 45000; export type ReferenceTopicSource = { ordinal: number; productIndex: number; candidateRevision?: string; executionBlueprint?: string; scriptSource?: unknown; creativeSource?: unknown; selectionMode?: unknown; contentStyle?: unknown; }; export type ReferenceTopicFramework = { sourceOrdinal: number; structure: string; detailedCopy: string; evidenceStatus: 'observed' | 'summary' | 'unavailable'; }; export type ReferenceTopicCandidate = { topicId: string; title: string; angle: string; sourceOrdinal: number; hook: string; proof: string; cta: string; selectionReason: string; score: number; }; export type ReferenceTopicPlanInput = { productIndex: number; sourceRevisions: Array<{ ordinal: number; candidateRevision: string; }>; frameworks: ReferenceTopicFramework[]; candidates: ReferenceTopicCandidate[]; }; export type ReferenceTopicBinding = Omit & { contractVersion: typeof FLOW_C_REFERENCE_TOPIC_PLAN_VERSION; planId: string; rank: number; variantIndex: number; variantCount: number; framework: ReferenceTopicFramework; score?: number; }; export type SavedReferenceTopicPlan = { productIndex: number; planId: string; contractVersion: typeof FLOW_C_REFERENCE_TOPIC_PLAN_VERSION; selectedTopics?: unknown[]; assignments?: unknown[]; }; export declare function referenceTopicPlanError(message: string): Error & { code: string; }; export declare function referenceTopicProductGroups(strategy: unknown, candidates: ReferenceTopicSource[]): Map; /** One complete source per distinct blueprint, while revisions cover every bound ordinal. */ export declare function referenceTopicSources(candidates: ReferenceTopicSource[], maxChars?: number): { sourceOrdinal: number; executionBlueprint: unknown; }[]; export declare function referenceTopicSourceRevisions(candidates: ReferenceTopicSource[]): { ordinal: number; candidateRevision: string; }[]; export declare function assertPendingReferenceTopicPlan(plan: ReferenceTopicPlanInput, candidates: ReferenceTopicSource[]): ReferenceTopicPlanInput; type JsonSchema = Record; export declare function referenceTopicPlanOutputSchema(sourceOrdinals: number[]): JsonSchema; export declare function parseReferenceTopicPlanOutput(raw: string, productIndex: number, sources: ReferenceTopicSource[]): ReferenceTopicPlanInput; export declare function assertReferenceTopicBinding(value: unknown): ReferenceTopicBinding; export declare function referenceTopicPlanPrompt(input: { productFacts: string; sourceBlueprints: string; instructions: string; localization: string; quantity: number; }): string; export {};