export interface RegistryAuth { /** Registry publish token (uemcp_...). */ token: string; /** GitHub login this token was minted for - shown by `plugin publish`. */ login: string; registry: string; authorized_at: string; } export declare function registryBase(): string; export declare function readRegistryAuth(): Promise; export declare function writeRegistryAuth(a: RegistryAuth): Promise; export declare function clearRegistryAuth(): Promise; /** * Resolve the token `plugin publish` should use, in precedence order: * explicit flag, env var, then the cached login. Returns null when the author * has never logged in. */ export declare function resolvePublishToken(flagToken?: string): Promise; /** * Run the full login: reuse a cached GitHub token when present, otherwise walk * the device flow, then exchange for a registry token and cache it. * * `log` receives user-facing progress so callers own their own formatting. */ export declare function loginToRegistry(log: (msg: string) => void, opts?: { force?: boolean; }): Promise;