import { type ExpectStatic } from "vitest"; /** * Check if the binary exists for the current platform. */ export declare function binaryExists(): boolean; /** * Get the binary path for the current platform. * Returns null if the platform is not supported. */ export declare function getBinaryPath(): string | null; interface CLI { output(): string; consumeOutput(): string; inputText(text: string): Promise; inputEnter(text?: string): Promise; inputArrowUp(): Promise; inputArrowDown(): Promise; inputArrowRight(): Promise; inputArrowLeft(): Promise; inputCtrlC(): Promise; inputSpace(): Promise; waitUntilText(text: string, timeout?: number): Promise; waitUntilExit(): Promise; wait(ms: number): Promise; getProjectPath(): string; writeFile(path: string, content: string): Promise; readFile(path: string): string; exists(path: string): boolean; readdir(path: string): string[]; fsSnapshot(path: string): Promise; fsDiff(oldSnap: Snapshot): Promise<{ added: string[]; removed: string[]; modified: string[]; }>; npm(...args: string[]): Promise; spawn(command: string, args: string[]): Promise; } export declare function testCLI(name: string, template: string | undefined, handler: (cli: Handler, expect: ExpectStatic) => Promise, timeout?: number, skip?: boolean): void; /** * Command types for the CLI handler: * - "builderio": Run via Node.js (dist/dev-tools/cli/main.cjs) * - "create-builderio": Run via Node.js (dist/create-builderio/index.js) * - "binary": Run via compiled pkg binary (dist/fusion-binaries/.../builder-fusion) */ export type CLICommand = "builderio" | "create-builderio" | "binary"; type Handler = (cmd: CLICommand, args: string[], options?: { debug?: boolean; }) => CLI; export declare function createCLI(template: string | undefined, handler: (cli: Handler) => Promise): Promise; /** * A snapshot maps a file's relative path to its hash. */ type Snapshot = { cwd: string; hashes: { [file: string]: string; }; }; export {};