import type { GoalSpec, GoalRisk, RiskLevel, SuccessCriterion } from "../contracts/goal.js";
import type { UserIntent } from "../contracts/orchestration.js";
export interface NormalizedGoalInput {
    rawPrompt: string;
    title?: string;
    objective?: string;
    successCriteria?: SuccessCriterion[];
    constraints?: string[];
    nonGoals?: string[];
    risks?: GoalRisk[];
    expectedArtifacts?: Array<{
        name: string;
        path?: string;
    }>;
    riskLevel?: RiskLevel;
}
export interface ParsedGoalPrompt {
    rawPrompt: string;
    objective: string;
    successCriteria: string[];
    nonGoals: string[];
    risks: string[];
    expectedArtifacts: Array<{
        name: string;
        path?: string;
    }>;
    constraints: string[];
    intentFrame: import("../contracts/goal.js").IntentFrame;
}
/**
 * Extract structured fields from a raw goal prompt using regex-based heuristics.
 * Supports Markdown-style headers and labelled sections.
 */
export declare function normalizeGoalPrompt(rawPrompt: string): ParsedGoalPrompt;
export declare function normalizeGoal(input: NormalizedGoalInput): GoalSpec;
/**
 * Codex-style entrypoint: create a GoalSpec from a raw prompt with structured parsing.
 */
export declare function createGoalSpec(rawPrompt: string, overrides?: Partial<Omit<NormalizedGoalInput, "rawPrompt">>): GoalSpec;
export declare function updateGoalStatus(spec: GoalSpec, status: GoalSpec["status"], options?: {
    planRevision?: number;
    runId?: string;
}): GoalSpec;
/**
 * Analyze a raw user prompt to determine intent, complexity, required roles,
 * and optimal parallel distribution strategy.
 */
export declare function analyzeUserIntent(rawPrompt: string): UserIntent;
