import type { OutcomesExportDocument } from "@h9-foundry/agentforge-visualizer";
import type { BenchmarkCategory, BenchmarkDecisionClarity, BenchmarkDecisionOutcome, BenchmarkLedgerArm, BenchmarkLedgerDocument, BenchmarkLedgerEntry, BenchmarkLedgerTokenUsage, BenchmarkLedgerTraceReference, BenchmarkLedgerWorkflowStatus, BenchmarkReleaseDecision, GithubWorkflowStatusMapping, RepoFitContract } from "@h9-foundry/agentforge-shared-types";
export { checkReleaseReadiness, getReleaseGuide, renderReleaseGuide, TARGET_NPM_SCOPE, EXPECTED_PUBLIC_PACKAGES } from "./internal/release-preflight.js";
export type { ReleaseCheckEntry, ReleaseCheckResult, ReleaseGuide } from "./internal/release-preflight.js";
export { verifyReleaseArtifacts } from "./internal/release-verification.js";
export type { ReleaseVerifyEntry, ReleaseVerifyResult, ReleaseVerifyTarball } from "./internal/release-verification.js";
export declare const startupPresetNames: readonly ["planning-discovery"];
export type StartupPresetName = (typeof startupPresetNames)[number];
declare const repoFitProfileIds: readonly ["none", "agentforge-ts-monorepo", "agentforge-ts-package", "agentforge-python-service", "agentforge-rust-crate"];
type RepoFitProfileId = (typeof repoFitProfileIds)[number];
type RepoFitStarterAdoption = "none" | "partial" | "full";
interface RepoFitWizardAnswers {
    architectureStyle?: string;
    sourceRoots?: string[];
    packageRoots?: string[];
    ownershipBoundaries?: string[];
    pathConventions?: string[];
    validationCommands?: string[];
    evidenceSources?: string[];
    codingConventions?: string[];
    designPatterns?: string[];
    testingConventions?: string[];
    releaseConventions?: string[];
    securityConventions?: string[];
    documentationConventions?: string[];
    operationsConventions?: string[];
    selectedProfileId?: RepoFitProfileId;
    adoption?: RepoFitStarterAdoption;
}
type ConfigDocumentOverrides = Record<string, string>;
export interface ConfigValidationResult {
    root: string;
    valid: boolean;
    workflows: Array<{
        workflow: string;
        requestPath: string;
        profileCount: number;
        variantCount: number;
        policyPresetCount: number;
        bindingCount: number;
    }>;
    errors: string[];
}
export declare function mapWorkflowRunStatusToGitHubStatus(workflow: string, localRunStatus: "success" | "partial" | "failed"): GithubWorkflowStatusMapping;
export interface WorkflowRunResult {
    runId: string;
    outputDir: string;
    markdownReport: string;
    jsonPath: string;
    markdownPath: string;
    status: string;
    findings: number;
    blockedActions: number;
    blockedPlugins: number;
    artifactCount: number;
    artifactKinds: string[];
}
export interface EvalRunResult {
    runId: string;
    specId: string;
    workflow: string;
    outputDir: string;
    jsonPath: string;
    markdownPath: string;
    status: string;
    evaluatedRunId?: string;
    evaluatedBundlePath?: string;
    setupRunCount: number;
    deterministicCheckCount: number;
    deterministicFailures: number;
    artifactKinds: string[];
}
export interface BenchmarkCompareResult {
    runId: string;
    outputDir: string;
    jsonPath: string;
    markdownPath: string;
    status: string;
    baselineRunId: string;
    comparedRunIds: string[];
    comparableRunCount: number;
    regressionCount: number;
    improvementCount: number;
    unchangedCount: number;
    nonComparableCount: number;
    artifactKinds: string[];
}
export interface LastRunExplanation {
    runId: string;
    status: string;
    findings: number;
    blockedActions: number;
    blockedPlugins: number;
    jsonPath: string;
    markdownPath: string;
    artifactCount: number;
    artifactKinds: string[];
}
export interface BenchmarkLedgerResult {
    path: string;
    document: BenchmarkLedgerDocument;
}
export interface BenchmarkLedgerPrefill {
    runId: string;
    workflow: string;
    status: string;
    artifactKinds: string[];
    startedAt?: string;
    finishedAt?: string;
    cycleTimeSeconds?: number;
    tokenUsage?: BenchmarkLedgerTokenUsage;
    entry: Partial<BenchmarkLedgerEntry>;
}
export interface BenchmarkLedgerRecordInput {
    taskId: string;
    arm: BenchmarkLedgerArm;
    source: BenchmarkLedgerDocument["entries"][number]["source"];
    taskType: string;
    benchmarkCategory?: BenchmarkCategory;
    taskLink?: string;
    runId?: string;
    workflow?: string;
    agent?: string;
    startedAt?: string;
    finishedAt?: string;
    cycleTimeSeconds?: number;
    summary?: string;
    decisionOutcome?: BenchmarkDecisionOutcome;
    agentforgeChangedDecision?: boolean;
    decisionImpactReason?: string;
    releaseDecision?: BenchmarkReleaseDecision;
    decisionClarity?: BenchmarkDecisionClarity;
    finalRecommendationSummary?: string;
    rerunCount?: number;
    blockedStateCount?: number;
    triggerRefs?: BenchmarkLedgerTraceReference[];
    confirmedRisks?: BenchmarkLedgerEntry["confirmedRisks"];
    confirmedRiskRefs?: BenchmarkLedgerEntry["confirmedRiskRefs"];
    tokenUsage?: BenchmarkLedgerTokenUsage;
    evidence?: BenchmarkLedgerEntry["evidence"];
    evidenceGapRefs?: BenchmarkLedgerTraceReference[];
    workflowStatuses?: BenchmarkLedgerWorkflowStatus[];
    friction?: Partial<BenchmarkLedgerEntry["friction"]>;
    notes?: string[];
    prefillRunRef?: string;
}
export interface BenchmarkLedgerRecordResult extends BenchmarkLedgerResult {
    created: boolean;
    prefill?: BenchmarkLedgerPrefill;
    entry: BenchmarkLedgerEntry;
}
export interface BenchmarkLedgerWizardInput {
    taskId: string;
    arm: BenchmarkLedgerArm;
    source?: BenchmarkLedgerRecordInput["source"];
    taskType?: string;
    benchmarkCategory?: BenchmarkCategory;
    prefillRunRef?: string;
    runId?: string;
    workflow?: string;
    agent?: string;
}
export interface VisualizerLaunchOptions {
    runsRoot?: string;
    benchmarkLedgerPath?: string;
    host?: string;
    port?: number;
    open?: boolean;
}
export interface VisualizerLaunchResult {
    serverUrl: string;
    runsRoot: string;
    benchmarkLedgerPath: string;
    runCount: number;
    benchmarkCount: number;
    close: () => Promise<void>;
}
export interface VisualizerExportOptions {
    runsRoot?: string;
    benchmarkLedgerPath?: string;
    outputPath?: string;
    format?: "json" | "markdown";
}
export interface VisualizerExportResult {
    format: "json" | "markdown";
    outputPath?: string;
    contents: string;
    document: OutcomesExportDocument;
}
export type ValidationCommandKind = "lint" | "typecheck" | "build" | "test" | "e2e";
export type BenchmarkMode = "live" | "eval";
export type OnboardingWorkflowFamily = "review/planning" | "qa/security" | "release/pipeline/deployment" | "maintenance/incident";
export interface DetectedValidationCommand {
    kind: ValidationCommandKind;
    scriptName: string;
    command: string;
}
export interface OnboardingReleaseProfile {
    relevant: boolean;
    ciConfigPaths: string[];
    ciArtifactPaths: string[];
    releaseDocPaths: string[];
    deploymentDocPaths: string[];
    promotionSignals: string[];
    recommendedEvidenceSources: string[];
}
export interface OnboardingRepoFitInference {
    contractPath: string;
    contract: RepoFitContract;
    inferredFields: string[];
    confirmedFields: string[];
    unresolvedFields: string[];
    recommendedProfileId?: Exclude<RepoFitProfileId, "none">;
    selectedProfileId?: RepoFitProfileId;
}
export interface OnboardingProfile {
    root: string;
    repoName: string;
    packageManager: string;
    languages: string[];
    validationCommands: DetectedValidationCommand[];
    workflowFamilies: OnboardingWorkflowFamily[];
    recommendedStarterPresets: StartupPresetName[];
    recommendedValidationExpectations: string[];
    recommendedEvidenceExpectations: string[];
    recommendedFirstWorkflow: string;
    recommendedBenchmarkMode: BenchmarkMode;
    recommendedBenchmarkCategory: BenchmarkCategory;
    recommendedBenchmarkTaskType: string;
    recommendedBenchmarkTaskId: string;
    releaseProfile: OnboardingReleaseProfile;
    repoFit: OnboardingRepoFitInference;
}
export interface OnboardingResult {
    root: string;
    created: string[];
    preset?: {
        preset: StartupPresetName;
        workflow: string;
        requestPath: string;
        created: boolean;
    };
    profile: OnboardingProfile;
    repoFit: OnboardingRepoFitInference;
    nextSteps: {
        firstWorkflowCommand: string;
        firstBenchmarkCommand: string;
        outcomesCommand: string;
        benchmarksCommand: string;
    };
}
export interface LocalRunCandidate {
    runId: string;
    workflow: string;
    status: string;
    startedAt?: string;
    finishedAt?: string;
    bundlePath: string;
    artifactKinds: string[];
    category: "workflow" | "eval" | "benchmark";
}
export declare function initProject(cwd?: string, options?: {
    preset?: StartupPresetName;
}): {
    root: string;
    created: string[];
    preset?: {
        preset: StartupPresetName;
        workflow: string;
        requestPath: string;
        created: boolean;
    };
};
export declare function scanProject(cwd?: string): {
    root: string;
    packageManager: string;
    languages: string[];
    changedFiles: string[];
    recommendations: string[];
    risks: string[];
};
export declare function validateControlPlane(cwd?: string, options?: {
    overrides?: ConfigDocumentOverrides;
}): Promise<ConfigValidationResult>;
export declare function analyzeOnboardingProfile(cwd?: string): OnboardingProfile;
export declare function onboardProject(cwd?: string, options?: {
    applyRecommendedPreset?: boolean;
    repoFitAnswers?: RepoFitWizardAnswers;
}): OnboardingResult;
export declare function runLocalWorkflow(workflowName: string, cwd?: string): Promise<WorkflowRunResult>;
export declare function runLocalEval(specId: string, cwd?: string): Promise<EvalRunResult>;
export declare function compareLocalEvalRuns(baselineRunRef: string, candidateRunRefs: string[], cwd?: string): BenchmarkCompareResult;
export declare function discoverLocalRunCandidates(cwd?: string, options?: {
    category?: LocalRunCandidate["category"];
    limit?: number;
}): LocalRunCandidate[];
export declare function explainLastRun(cwd?: string): LastRunExplanation;
export declare function readBenchmarkLedger(cwd?: string): BenchmarkLedgerResult;
export declare function recordBenchmarkLedgerEntry(input: BenchmarkLedgerRecordInput, cwd?: string): BenchmarkLedgerRecordResult;
export declare function runBenchmarkLedgerWizard(input: BenchmarkLedgerWizardInput, cwd?: string): Promise<BenchmarkLedgerRecordResult>;
export declare function launchVisualizer(options?: VisualizerLaunchOptions, cwd?: string): Promise<VisualizerLaunchResult>;
export declare function exportVisualizerOutcomes(options?: VisualizerExportOptions, cwd?: string): VisualizerExportResult;
export declare function getGitHubReportingConfig(cwd?: string): {
    trackerIssue?: number;
};
//# sourceMappingURL=index.d.ts.map