import type { Spec } from './spec/core.js';
/** Summary of a single spec included in the .well-known manifest. */
export interface ManifestSpec {
    /** Spec ID (e.g. "SPEC-001"). */
    id: string;
    /** Human-readable title. */
    title: string;
    /** Spec status. */
    status: string;
    /** Spec type (feature, bug, chore, etc.). */
    type: string;
    /** Short description (up to 200 characters). */
    description: string;
    /** Tags associated with the spec. */
    tags: string[];
    /** ISO 8601 creation date. */
    created: string;
}
/** .well-known/planu.json manifest format v1. */
export interface WellKnownManifest {
    /** Manifest schema version. Always 1 for this format. */
    version: 1;
    /** Project display name. */
    name: string;
    /** Total number of specs included. */
    specCount: number;
    /** Spec summaries (public specs only, unless includePrivate=true). */
    specs: ManifestSpec[];
    /** Planu capabilities exported by this project. */
    capabilities: string[];
    /** ISO 8601 timestamp when this manifest was generated. */
    generatedAt: string;
}
/** Input for the publish_registry tool handler. */
export interface PublishRegistryInput {
    /** Project ID (hash). */
    projectId: string;
    /** Absolute path where .well-known/planu.json will be written. */
    outputPath?: string;
    /** Whether to include specs with status "private". Default: false. */
    includePrivate?: boolean;
}
/** Input for the discover_registry tool handler. */
export interface DiscoverRegistryInput {
    /** Absolute path to a .well-known/planu.json manifest file. */
    manifestPath: string;
}
/** Options for generating a manifest. */
export interface ManifestGeneratorOptions {
    /** Project display name. */
    projectName: string;
    /** List of all specs for the project. */
    specs: Spec[];
    /** Whether to include specs with a private or draft status. */
    includePrivate: boolean;
}
/** A capability identifier that a project can declare in its manifest. */
export type KnownCapability = 'spec-registry' | 'federation' | 'living-spec' | 'ai-analysis' | 'estimation' | 'changelog';
/** Result of parsing and validating a manifest. */
export interface DiscoveryResult {
    /** Whether the manifest was successfully parsed and validated. */
    valid: boolean;
    /** Parsed manifest (present when valid is true). */
    manifest?: WellKnownManifest;
    /** Validation errors (present when valid is false). */
    errors?: string[];
    /** Source path of the manifest. */
    source: string;
}
//# sourceMappingURL=well-known.d.ts.map