import type { DevToolsSys } from "@builder.io/dev-tools/core"; import type { CLIArgs } from "./index"; import { CodeGenSession } from "./codegen"; export declare const DEFAULT_PROXY_PORT = 48752; export interface LaunchArgs extends CLIArgs { /** Project ID for the dev server. Only needed when running in a remote container. */ projectId?: string; /** Branch name for the dev server. Only needed when running in a remote container. */ branchName?: string; /** Silent mode for launch command */ silent?: boolean; /** Port number for the dev server */ port?: number; /** Port number for the dev server (shorthand) */ p?: number; /** Dev server command to execute */ command?: string; /** Install command to execute */ installCommand?: string; /** Dev server command to execute (shorthand) */ c?: string; /** Dev server URL to proxy to (alternative to command + port) */ serverUrl?: string; /** * If true, CLI will run the init command instead of the launch command. * * @default false */ fusionInit?: boolean; /** * If true, CLI will be interactive and prompt the user for input. * * @default true */ interactive?: boolean; /** * Decides whether to skip authentication for the user's proxy server. * Our own _builder.io/ endpoitns are always authenticated. * * @default false */ authenticateProxy?: boolean; /** * Indicates the type of docker image the CLI is running on. * * @default "node" */ dockerImageType?: "fusion-starter" | "node"; /** * Output structured JSON data. * Useful for programmatic consumption (e.g., VSCode extensions). * * @default false */ jsonOutput?: boolean; /** * Enable local development mode with port availability checking. * When enabled, automatically finds an available port if the default is in use. * * @default false */ local?: boolean; /** * Enable privacy mode for codegen. * When enabled, encrypts sensitive data in communication with the AI service. * * @default false */ privacyMode?: boolean; /** * Auto-detect dev server URL and port from command output. * When enabled, the system will parse the dev server output to automatically * detect the server URL and port instead of requiring manual configuration. * * @default false */ autoDetectDevServer?: boolean; /** Inlined to builder.config.json file */ configJson?: string; /** Path to fusion.config.json file */ configPath?: string; /** * Enable HTTPS server. * When enabled, creates both HTTP and HTTPS servers. * * @default false */ https?: boolean; /** * Custom domain to use instead of localhost in proxy URLs. * Useful for development with custom SSL certificates. */ localHttpsDomain?: string; /** * Enable native app mode. * When enabled, runs setup and dev commands without proxy server functionality. * Useful for native app development where the simulator handles its own server. * * @default false */ nativeApp?: boolean; /** * Open Builder in chat-only mode. * When enabled, adds ?chatOnly=true to the Builder URL. * * @default false */ chat?: boolean; /** * Session ID to resume a previous session. * Aligns with fusionConfig.sessionId - overrides any session ID set in the config. */ sessionId?: string; } export declare function runFusionCommand({ sys, args, existingSession, }: { sys: DevToolsSys; args: LaunchArgs; existingSession?: CodeGenSession; }): Promise; declare const PUBLIC_METHODS: ("readFile" | "readBinaryFile" | "writeFile" | "launchEditor" | "abort" | "switchSessionMode" | "switchModelOverride" | "queueSystemReminder" | "setDefaultAutoPush" | "setPrivacyMode" | "loadHistory" | "loadMoreTurns" | "setCustomInstructions" | "pushRepoV2" | "uploadBackup" | "pushChanges" | "abortMerge" | "syncChangesFromRemote" | "createTerminal" | "updateTerminal" | "writeTerminal" | "signalTerminal" | "disposeTerminal" | "restartTerminal" | "getAllFiles" | "searchFiles" | "searchFileTree" | "collectRepoMetrics" | "restoreFromCompletionId" | "restoreBeforeCompletionId" | "undoLastUserMessage" | "sendFeedback" | "clearSession" | "clearMessageQueue" | "updateMessage" | "flushMessageQueue" | "sendMessage" | "setProxyOrigin" | "abortSetupCommand" | "abortValidateCommand" | "toolFullfilment" | "abortToolCall" | "stopEventLoop" | "configureDevOrchestrator" | "tsServerInit" | "tsServerOpenFile" | "tsServerChangeFile" | "tsServerCloseFile" | "tsServerGetCompletions" | "tsServerGetCompletionDetails" | "tsServerGetDefinition" | "tsServerGetTypeDefinition" | "tsServerGetQuickInfo" | "tsServerGetReferences" | "tsServerGetSignatureHelp" | "tsServerRequestDiagnostics" | "tsServerGetRenameLocations" | "tsServerGetNavTree" | "tsServerOrganizeImports" | "tsServerGetInlayHints" | "tsServerGetCodeFixes" | "tsServerGetApplicableRefactors" | "tsServerGetEditsForRefactor" | "tsServerGetImplementation" | "tsServerGetSelectionRange" | "tsServerGetLinkedEditingRange" | "tsServerGetFormatRange" | "manualCommit" | "readFileWithChecksum" | "getSingleFileDiff" | "discardFileChanges" | "revertDiscard" | "fileExists" | "listDir" | "listCustomInstructions" | "deleteFile" | "getDiff")[]; export type PublicCodeGenSession = Pick, (typeof PUBLIC_METHODS)[0]>; export {};