import { Command } from 'commander'; import { Settings, SupportedLibraries, TranslateFlags } from '../types/index.js'; export type UploadOptions = { config?: string; apiKey?: string; projectId?: string; defaultLocale?: string; }; export type LoginOptions = { config?: string; keyType?: 'development' | 'production' | 'all'; }; export declare class BaseCLI { protected library: SupportedLibraries; protected additionalModules: SupportedLibraries[]; protected program: Command; constructor(program: Command, library: SupportedLibraries, additionalModules?: SupportedLibraries[]); init(): void; execute(): void; protected setupSetupProjectCommand(): void; protected setupStageCommand(): void; /** * Enqueues translations for a given set of files * @param initOptions - The options for the command * @returns The results of the command */ protected setupEnqueueCommand(): void; /** * Downloads translations that were originally staged * @param initOptions - The options for the command * @returns The results of the command */ protected setupDownloadCommand(): void; protected setupTranslateCommand(): void; protected setupSendDiffsCommand(): void; protected handleSetupProject(initOptions: TranslateFlags): Promise; protected handleStage(initOptions: TranslateFlags): Promise; /** * Enqueues translations for a given set of files * @param initOptions - The options for the command * @returns The results of the command */ protected handleEnqueue(initOptions: TranslateFlags): Promise; /** * Downloads translations that were originally staged * @param initOptions - The options for the command * @returns The results of the command */ protected handleDownload(initOptions: TranslateFlags): Promise; protected handleTranslate(initOptions: TranslateFlags): Promise; protected setupUploadCommand(): void; protected setupLoginCommand(): void; protected setupInitCommand(): void; protected setupConfigureCommand(): void; protected handleUploadCommand(settings: Settings & UploadOptions): Promise; protected handleInitCommand(ranReactSetup: boolean, useDefaults?: boolean, isVite?: boolean): Promise; protected handleLoginCommand(options: LoginOptions): Promise; }