/** * Init command - scaffolds a new Tinybird TypeScript project */ import { type DevMode } from "../config.js"; type InstallTool = "skills" | "syntax-highlighting"; /** * Init command options */ export interface InitOptions { /** Working directory (defaults to cwd) */ cwd?: string; /** Force overwrite existing files */ force?: boolean; /** Skip the login flow */ skipLogin?: boolean; /** Development mode - if provided, skip interactive prompt */ devMode?: DevMode; /** Client path - if provided, skip interactive prompt */ clientPath?: string; /** Skip prompts for existing datafiles - for testing */ skipDatafilePrompt?: boolean; /** Auto-include existing datafiles without prompting - for testing */ includeExistingDatafiles?: boolean; /** Skip GitHub Actions workflow prompts */ skipWorkflowPrompt?: boolean; /** Include Tinybird CI workflow */ includeCiWorkflow?: boolean; /** Include Tinybird CD workflow */ includeCdWorkflow?: boolean; /** Git provider for workflow templates */ workflowProvider?: "github" | "gitlab"; /** Skip auto-installing @tinybirdco/sdk dependency */ skipDependencyInstall?: boolean; /** Skip install tools prompt */ skipToolsPrompt?: boolean; /** Install selected tools */ installTools?: InstallTool[]; /** Skip selected tool installation */ skipToolsInstall?: boolean; } /** * Init command result */ export interface InitResult { /** Whether initialization was successful */ success: boolean; /** Files that were created */ created: string[]; /** Files that were skipped (already exist) */ skipped: string[]; /** Error message if failed */ error?: string; /** Whether login was completed */ loggedIn?: boolean; /** Workspace name after login */ workspaceName?: string; /** User email after login */ userEmail?: string; /** Selected development mode */ devMode?: DevMode; /** Selected client path */ clientPath?: string; /** Existing datafiles that were added to config */ existingDatafiles?: string[]; /** Whether a Tinybird CI workflow was created */ ciWorkflowCreated?: boolean; /** Whether a Tinybird CD workflow was created */ cdWorkflowCreated?: boolean; /** Git provider used for workflow templates */ workflowProvider?: "github" | "gitlab"; /** Selected install tools */ installTools?: InstallTool[]; /** Installed tools */ installedTools?: string[]; } /** * Find existing .datasource and .pipe files in the repository * * @param cwd - Working directory to search from * @param maxDepth - Maximum directory depth to search (default: 5) * @returns Array of relative file paths */ export declare function findExistingDatafiles(cwd: string, maxDepth?: number): string[]; /** * Run the init command * * Creates: * - tinybird.json in the project root * - src/tinybird/ folder with datasources.ts, endpoints.ts, and client.ts * * @param options - Init options * @returns Init result */ export declare function runInit(options?: InitOptions): Promise; export declare function findSyntaxHighlightingVsix(cwd: string): string | undefined; export {}; //# sourceMappingURL=init.d.ts.map