/**
 * ManifestRegistryPort — agent manifest registration and lifecycle management (S1 spec).
 *
 * Implements: manifest registration with Ed25519 signatures, lifecycle states
 * (active/deprecated/revoked), version monotonicity, and tier-based compliance gating.
 *
 * Invariants enforced: I-S1-1..12 (capabilities, tier constraints, versioning).
 * Errors: ManifestNotFoundError, ManifestSignatureInvalidError, ManifestVersionConflictError,
 * ManifestComplianceConflictError (from S5 Cedar G-3).
 */
export type Tier = "dev" | "test" | "pilot" | "production" | "internal" | "legacy";
export declare const SUPPORTED_TIERS: Tier[];
export type ComplianceMode = "strict" | "audit_only";
export interface Manifest {
    readonly name: string;
    readonly version: string;
    readonly tier: Tier;
    readonly compliance_mode: ComplianceMode;
    readonly capabilities: readonly string[];
    readonly compliance: {
        readonly jurisdictions: readonly string[];
        readonly legal_bases: readonly string[];
        readonly data_classification: string;
    };
    readonly runtime: {
        readonly max_compute_seconds: number;
        readonly max_llm_tokens: number;
    };
    readonly ed25519_pubkey: string;
    readonly signature: string;
    readonly manifestHash: string;
}
export type RegistrationStatus = "registered" | "partial" | "failed";
export interface ComplianceError {
    readonly code: string;
    readonly description: string;
}
export interface RegistrationResult {
    readonly claim_id: string;
    readonly status: RegistrationStatus;
    readonly manifest_id?: string;
    readonly errors?: readonly ComplianceError[];
}
export interface RegisterOptions {
    readonly operatorId?: string;
    readonly timestamp?: Date;
}
export interface LookupResult {
    readonly manifest: Manifest | null;
    readonly status?: "active" | "deprecated" | "revoked";
    readonly deprecated_at?: Date;
    readonly revoked_at?: Date;
    readonly revocation_reason?: string;
}
export interface ManifestRegistryPort {
    /**
     * Register a manifest with Ed25519 signature validation.
     * Validates I-S1-1..12 invariants before persisting.
     * Rejects I-S1-2 violation: tier='production' + mode='audit_only'.
     * Returns claim_id (signed Claim artifact) or ComplianceErrors.
     */
    register(manifest: Manifest, options?: RegisterOptions): Promise<RegistrationResult>;
    /**
     * Look up a manifest by name + version.
     * Returns null if not found or revoked.
     * Does not include errors list (use getValidationErrors for detailed checks).
     */
    lookup(name: string, version: string): Promise<Manifest | null>;
    /**
     * Revoke a manifest by claim_id.
     * After revocation, lookup() returns null.
     * Emits revocation event (audit trail).
     * Returns void on success; throws ManifestNotFoundError if claim_id invalid.
     */
    revoke(claim_id: string, reason: string): Promise<void>;
    /**
     * List all versions of a manifest by name, sorted by semver.
     * Returns versions in ascending order (0.1.0 < 1.0.0).
     * Returns empty array if name not found.
     */
    listVersions(name: string): Promise<readonly string[]>;
    /**
     * Validate a manifest signature against its ed25519_pubkey.
     * Recomputes manifestHash and checks signature.
     * Returns true if valid; throws ManifestSignatureInvalidError if invalid.
     */
    verifySignature(manifest: Manifest): Promise<boolean>;
}
export declare class ManifestNotFoundError extends Error {
    readonly name: string;
    readonly version: string;
    constructor(name: string, version: string);
}
export declare class ManifestSignatureInvalidError extends Error {
    readonly name: string;
    readonly version: string;
    readonly cause?: unknown | undefined;
    constructor(name: string, version: string, cause?: unknown | undefined);
}
export declare class ManifestVersionConflictError extends Error {
    readonly name: string;
    readonly version: string;
    readonly existingStatus: string;
    constructor(name: string, version: string, existingStatus: string);
}
export declare class ManifestComplianceConflictError extends Error {
    readonly name: string;
    readonly version: string;
    readonly violation: string;
    constructor(name: string, version: string, violation: string);
}
export declare class ManifestValidationError extends Error {
    readonly violations: readonly ComplianceError[];
    constructor(violations: readonly ComplianceError[]);
}
//# sourceMappingURL=manifest-registry.d.ts.map