import type { PlanCatalog } from "../plan-model.js"; export interface CliOptions { configDir: string; envPrefix: string; defaultUrl: string; /** * The app's catalogue, so the COMMANDS are gated exactly as the TOOLS are. * * Omit and everything registers — `undefined` is "the caller did not say", never * "nothing applies", the same rule `registerBillingTools` follows. Pass it and a * flat/pooled deployment stops shipping `seats` and `topup` commands, which on * that catalogue call tools that were never registered and can only answer * "Unknown tool". A dead command is the same false statement as a dead tool: the * customer cannot tell "not for you" from "you are holding it wrong". * * The gating reads `toolCapabilities`, the same function `registerBillingTools` * reads, so the two surfaces cannot disagree about what a catalogue supports. * `plan-model` carries no external dependency, so `/cli` stays a leaf. */ plans?: PlanCatalog; } export interface CliConfig { apiKey?: string; email?: string; baseUrl?: string; } export declare function configPath(opts: CliOptions): string; export declare function readConfig(opts: CliOptions): CliConfig; export declare function writeConfig(opts: CliOptions, c: CliConfig): void; export declare function resolveBaseUrl(opts: CliOptions, cliUrl?: string): string; export declare function resolveApiKey(opts: CliOptions, cliKey?: string): string | undefined; //# sourceMappingURL=config.d.ts.map