import { type Prompter } from "#setup/prompter.js"; import type { runRegistrySetupCommand } from "./registry-setup-command.js"; export interface RegistryCommandLogger { error(message: string): void; log(message: string): void; } export interface AddCommandOptions { skipInstall?: boolean; overwrite?: boolean; skipSetup?: boolean; yes?: boolean; /** Suppresses the registry SDK's terminal-native progress output. */ silent?: boolean; } /** Options shared by registry catalog commands. */ export interface RegistryCommandOptions { /** Emit the underlying registry result as JSON. */ json?: boolean; } /** Options for searching registry catalogs. */ export interface RegistrySearchCommandOptions extends RegistryCommandOptions { /** Maximum number of matching items to return. */ limit?: number; } export interface RegistrySetupDependencies { loadSetupCommandRunner(): Promise; } export interface AddCommandDependencies extends RegistrySetupDependencies { createPrompter?: () => Prompter; hasInteractiveTerminal?: () => boolean; } /** One discoverable item from an eve-compatible registry catalog. */ export interface RegistryCatalogItem { address: string; name: string; title?: string; type?: string; description?: string; source: string; } /** Catalog items plus non-fatal failures from the registry sources queried. */ export interface RegistryCatalogResult { items: RegistryCatalogItem[]; total: number; errors: Array<{ message: string; registry: string; }>; } /** * Resolves the official registry URL, honoring the explicit development trust override. * * The override makes its registry eligible to supply setup commands, so it must be * configured in the process environment rather than project configuration. */ export declare function resolveOfficialRegistryUrl(configured?: string | undefined): string; /** Installs an official registry item without running its declared setup command. */ export declare function installOfficialRegistryItem(appRoot: string, item: string, options?: AddCommandOptions): Promise; /** Browses all configured catalogs, or one namespace or URL source. */ export declare function browseRegistryCatalog(appRoot: string, options?: { query?: string; source?: string; }): Promise; /** Resolves one official, configured, or URL-addressed item manifest. */ export declare function getRegistryItemManifest(appRoot: string, item: string): Promise; /** Installs an official, configured, or URL-addressed registry item. */ export declare function installRegistryItem(appRoot: string, item: string, options?: AddCommandOptions & { prompter?: Prompter; signal?: AbortSignal; }, dependencies?: AddCommandDependencies): Promise; /** Installs an official, configured, or URL-addressed registry item. */ export declare function runAddCommand(logger: RegistryCommandLogger, appRoot: string, item: string, options: AddCommandOptions & { prompter?: Prompter; signal?: AbortSignal; }, dependencies?: AddCommandDependencies): Promise; /** Adds registry namespace mappings to the project's package.json. */ export declare function runRegistryAddCommand(logger: RegistryCommandLogger, appRoot: string, mappings: readonly string[]): Promise; /** Lists registry items from every configured source or one selected source. */ export declare function runRegistryListCommand(logger: RegistryCommandLogger, appRoot: string, source?: string, options?: RegistryCommandOptions): Promise; /** Searches registry items across every configured source or one selected source. */ export declare function runRegistrySearchCommand(logger: RegistryCommandLogger, appRoot: string, query: string, source?: string, options?: RegistrySearchCommandOptions): Promise; /** Prints one official, configured, or URL-addressed registry item as JSON. */ export declare function runRegistryViewCommand(logger: RegistryCommandLogger, appRoot: string, item: string): Promise;