export type ProjectMode = 'greenfield' | 'brownfield' | 'not-applicable';
export interface ProjectMetadata {
    /** Mode set at install time or via `openlife project-mode set`. */
    mode: ProjectMode;
    /** ISO-8601 timestamp of when this metadata was first written. */
    createdAt: string;
    /** ISO-8601 timestamp of the most recent update. */
    updatedAt: string;
    /** Auto-detected stack hints (typescript, node, python, postgres, etc.). */
    detectedStack: string[];
    /**
     * Recommended workflow id (from dist-templates/workflows/) the user should
     * run first. Re-computed when `mode` changes or `detectedStack` updates.
     */
    recommendedWorkflow: string;
    /**
     * Free-form notes captured during the install wizard or via aiobuilder.
     */
    notes?: string;
}
/** Resolve the metadata file path relative to a root (default: process.cwd()). */
export declare function projectMetadataPath(root?: string): string;
/** Read existing metadata, returning null if file is missing or unparseable. */
export declare function readProjectMetadata(root?: string): ProjectMetadata | null;
/** Write metadata, creating .openlife/ if necessary. */
export declare function writeProjectMetadata(meta: ProjectMetadata, root?: string): string;
/**
 * Detect the project's stack from cwd. Cheap heuristic — file presence only,
 * does not parse contents. Used to suggest a default mode and a recommended
 * workflow in the install wizard.
 */
export declare function detectStack(root?: string): string[];
/**
 * Detect mode hint from cwd. Returns `brownfield` if cwd appears to be an
 * established project (presence of stack files AND > 10 git commits OR a
 * non-trivial src/ folder); `greenfield` otherwise.
 */
export declare function detectMode(root?: string): ProjectMode;
/** Map (mode, stack) to a recommended workflow id from dist-templates/workflows/. */
export declare function recommendWorkflow(mode: ProjectMode, stack: string[]): string;
/** Convenience: build a fresh ProjectMetadata for a chosen mode. */
export declare function buildMetadata(mode: ProjectMode, root?: string, notes?: string): ProjectMetadata;
