import type { Writable } from "node:stream"; export declare class ProviderAddUsageError extends Error { } export interface ProviderAddOptions { /** npm-validated provider/package name; also the target directory name. */ readonly name: string; readonly baseUrl: string; /** Shell-safe identifier, e.g. `ACME_API_KEY`. Never a secret value. */ readonly envKey: string; readonly model: string; readonly force: boolean; readonly help: boolean; } export interface ProviderAddRuntime { readonly stdout: Writable; readonly stderr: Writable; /** Override template root (tests). Defaults to package `templates/provider`. */ readonly templatesRoot?: string; /** Override package version stamped into the generated package.json. */ readonly packageVersion?: string; /** Working directory used to resolve relative destinations. Defaults to process.cwd(). */ readonly cwd?: string; } export interface ProviderAddResult { readonly targetDir: string; readonly writtenFiles: readonly string[]; readonly name: string; readonly totalBytes: number; } export declare function getProviderAddUsage(): string; export declare const providerAddUsage: string; export declare function parseProviderAddArgs(argv: readonly string[]): ProviderAddOptions; export declare function runProviderAddCommand(argv: readonly string[], runtime: ProviderAddRuntime): Promise; export declare function createProviderProject(options: ProviderAddOptions, runtime?: ProviderAddRuntime): Promise; export declare function defaultProviderTemplatesRoot(): string; /** npm package-name rules plus traversal refusal. Throws `ProviderAddUsageError` on violation. */ export declare function validateProviderName(name: string): void;