import { type PackagedPluginManifestV2 } from "@thortiq/plugin-api";
import type { PackageSummary, ProjectValidationResult, ValidatedProject } from "./types.js";
/**
 * Captures list/read/list and validates one complete immutable generation.
 * Absolute paths never enter diagnostics or the returned machine summary.
 */
export declare function validateProjectDirectory(directory: string, { platform, expectedPluginId }?: {
    readonly platform?: string;
    readonly expectedPluginId?: string | null;
}): Promise<ProjectValidationResult>;
/**
 * Generates the complete closed integrity map and atomically writes the
 * canonical manifest last. No declared output is modified.
 */
export declare function writeProjectIntegrity(directory: string): Promise<PackagedPluginManifestV2>;
export declare function projectSummary(project: ValidatedProject): PackageSummary;
export declare function packageProjectDirectory(directory: string, outputPath: string, { generateIntegrity, platform }?: {
    readonly generateIntegrity?: boolean;
    readonly platform?: string;
}): Promise<{
    readonly archivePath: string;
    readonly archiveDigest: `sha256:${string}`;
    readonly archiveBytes: number;
    readonly project: ValidatedProject;
}>;
export declare function validateReleaseArchive(archivePath: string, { platform, expectedPluginId }?: {
    readonly platform?: string;
    readonly expectedPluginId?: string | null;
}): Promise<ProjectValidationResult>;
