import type { PromptApi } from "../pick.ts"; export interface InstallOptions { registry?: string; version?: string; quiet?: boolean; verbose?: boolean; noProgress?: boolean; } /** * Parse a role specifier like: * "software-architect" → roleId="software-architect" * "software-architect@1.0.0" → roleId="software-architect", version="1.0.0" * "my-registry:custom-role" → registry="my-registry", roleId="custom-role" * "my-registry:role@2.0.0" → registry="my-registry", roleId="role", version="2.0.0" */ export declare function parseRoleSpec(spec: string): { roleId: string; registry?: string; version?: string; }; /** * Interactive flow for `rolebox install` without a role specifier: pick a * registry and role, confirm, then install. Returns true when an install was * performed, false when the user cancelled (or nothing was installed). * `prompts` is injectable for tests; production callers use real clack. */ export declare function installInteractive(prompts?: PromptApi): Promise; /** * Install a role from a registry. */ export declare function install(spec: string, opts?: InstallOptions): Promise; declare const _default: import("citty").CommandDef<{ readonly role: { readonly type: "positional"; readonly description: "Role specifier (e.g. software-architect, my-reg:role@2.0.0). Omit for interactive selection"; readonly required: false; }; readonly quiet: { readonly type: "boolean"; readonly alias: ["q"]; readonly description: "Suppress non-error output"; }; readonly verbose: { readonly type: "boolean"; readonly alias: ["v"]; readonly description: "Show per-phase detail"; }; readonly noProgress: { readonly type: "boolean"; readonly alias: ["no-progress"]; readonly description: "Disable progress bars"; }; }>; export default _default; //# sourceMappingURL=install.d.ts.map