import type { Command } from 'commander'; import { type ProgramIO } from '../cli-helpers.js'; /** Pinned upstream version — bump deliberately, never float on `latest`. */ export declare const SHADCN_PACKAGE = "shadcn@4.21.0"; export type ShadcnInitState = 'ok' | 'shadcn-missing' | 'execution-failed'; export type ShadcnInitOptions = { readonly cwd: string; readonly preset: string; readonly template?: string; readonly yes?: boolean; readonly timeoutMs?: number; }; export type ShadcnInitResult = { readonly state: ShadcnInitState; readonly argv: readonly string[]; readonly stdout: string; readonly stderr: string; readonly exitCode: number | null; readonly durationMs: number; }; /** * Pure argv builder. `--package --` makes npx resolve the pinned * upstream CLI without installing it into the project. */ export declare function buildShadcnInitArgs(options: Pick): string[]; /** * Spawn the upstream CLI through the cross-platform npx resolver (on Windows * `npx` is a `.cmd` shim that `spawnSync` refuses to invoke directly). * Fail-soft: a missing network / missing npx returns a state, never throws. */ export declare function runShadcnInit(options: ShadcnInitOptions): ShadcnInitResult; export declare function registerShadcnCommands(program: Command, io: ProgramIO): void;