import type { Scope } from '../../types.js'; /** A registered configured CLI: name, endpoint, optional auth env var, scope and root. */ export interface ConfiguredCliRegistration { name: string; endpoint: string; authEnvVar?: string; scope: 'project' | 'user'; root: string; } /** Validation result for registration inputs. */ export interface RegistrationValidation { isValid: boolean; errors: string[]; } /** Validate a registration name. */ export declare function validateRegistrationName(name: unknown): RegistrationValidation; /** Validate an environment variable name. */ export declare function validateEnvVarName(name: unknown): RegistrationValidation; /** Validate an endpoint URL. */ export declare function validateEndpoint(endpoint: unknown): RegistrationValidation; /** Normalize endpoint URL to a canonical form (remove trailing slash if present). */ export declare function normalizeEndpoint(endpoint: string): string; /** List every EFFECTIVE configured CLI visible across scopes (project nearest-first, * then user). Dedupes by name: the first-seen registration for a name wins (nearer * project root, then user) and any same-name registration in a farther scope is * omitted entirely — there is no shadowed-copy representation and no `effective` * field on `ConfiguredCliRegistration`. */ export declare function listConfiguredCliRegistrations(): ConfiguredCliRegistration[]; /** Get deduplicated effective registrations (one per unique name, project wins over user). */ export declare function effectiveConfiguredClis(): ConfiguredCliRegistration[]; /** Resolve a configured CLI registration by name. If scope is omitted, returns the * effective winner (project > user). If scope is explicit, returns the registration * in that scope or null if not found. */ export declare function resolveConfiguredCli(name: string, scope?: Scope | 'project' | 'user'): ConfiguredCliRegistration | null; /** Get the cache directory for a configured CLI registration. */ export declare function configuredCliCacheDir(registration: ConfiguredCliRegistration): string; /** Get the manifest file path for a configured CLI. */ export declare function configuredCliManifestPath(registration: ConfiguredCliRegistration): string; /** Get the cache metadata file path for a configured CLI. */ export declare function configuredCliCacheMetaPath(registration: ConfiguredCliRegistration): string;