/**
 * Centralized schema path resolution and global schema management.
 *
 * This module is the SINGLE source of truth for resolving schema file
 * paths at runtime. Both schema-integrity.ts and schema-validator.ts
 * should delegate to this module instead of maintaining their own
 * resolveSchemaPath() implementations.
 *
 * Resolution priority:
 *   1. ~/.cleo/schemas/{name}  (global install via getCleoSchemasDir)
 *   2. Package schemas/{name}  (bundled fallback via getPackageRoot)
 */
export interface SchemaInstallResult {
    installed: number;
    updated: number;
    total: number;
}
export interface StalenessReport {
    stale: string[];
    current: string[];
    missing: string[];
}
export interface InstalledSchema {
    name: string;
    path: string;
    version: string | null;
}
export interface CheckResult {
    ok: boolean;
    installed: number;
    bundled: number;
    missing: string[];
    stale: string[];
}
/**
 * Resolve the absolute path to a schema file at runtime.
 *
 * Priority:
 *   1. Global install: ~/.cleo/schemas/{schemaName}
 *   2. Package bundled: <packageRoot>/schemas/{schemaName}
 *
 * @param schemaName - Filename of the schema (e.g. "config.schema.json")
 * @returns Absolute path to the schema file, or null if not found
 */
export declare function resolveSchemaPath(schemaName: string): string | null;
/**
 * Read the schema version from a resolved schema file.
 *
 * Checks `schemaVersion` (top-level) and `_meta.schemaVersion` (canonical).
 *
 * @param schemaName - Filename of the schema (e.g. "config.schema.json")
 * @returns The version string, or null if not found or unreadable
 */
export declare function getSchemaVersion(schemaName: string): string | null;
/**
 * Copy ALL bundled schemas from package schemas/ to ~/.cleo/schemas/.
 *
 * - Creates the global schemas directory if it doesn't exist.
 * - Skips files that are already up-to-date (same version).
 * - Overwrites stale files (version mismatch).
 *
 * @param opts - Optional settings (currently unused, reserved for future options)
 * @returns Summary of installed, updated, and total schemas
 */
export declare function ensureGlobalSchemas(_opts?: Record<string, unknown>): SchemaInstallResult;
/**
 * Verify that global schemas are installed and not stale.
 *
 * @returns Check result with counts and lists of issues
 */
export declare function checkGlobalSchemas(): CheckResult;
/**
 * Compare global schema versions against bundled package versions.
 *
 * @returns Report of stale, current, and missing schemas
 */
export declare function checkSchemaStaleness(): StalenessReport;
/**
 * List all schemas installed in ~/.cleo/schemas/.
 *
 * @returns Array of installed schema details
 */
export declare function listInstalledSchemas(): InstalledSchema[];
/**
 * Backup and remove deprecated .cleo/schemas/ directory from a project.
 *
 * Schemas should live in ~/.cleo/schemas/ (global) not in project directories.
 * This function creates a backup before removal for safety.
 *
 * @param projectRoot - Absolute path to the project root
 * @returns Whether cleanup was performed
 */
export declare function cleanProjectSchemas(projectRoot: string): Promise<{
    cleaned: boolean;
}>;
//# sourceMappingURL=schema-management.d.ts.map