export interface NomadConfig { address: string; region?: string; datacenter?: string; namespace?: string; token?: string; } export interface BotDeploymentConfig { botId: string; botType: 'typescript' | 'python'; dockerImage: string; botToken?: string; cpu?: number; memory?: number; useVolume?: boolean; useVault?: boolean; } export interface NomadJobStatus { id: string; name: string; status: string; running: number; desired: number; } /** * Nomad client for deploying and managing bots on Nomad */ export declare class NomadClient { private config; constructor(config: NomadConfig); /** * Check if Nomad CLI is available */ static isNomadAvailable(): boolean; /** * Get Nomad server address from environment or config */ static getDefaultAddress(): string; /** * Find the package root directory by looking for package.json */ private findPackageRoot; /** * Generate Nomad job specification from template */ generateJobSpec(botConfig: BotDeploymentConfig, templatePath?: string): Promise; /** * Deploy a bot to Nomad */ deployBot(botConfig: BotDeploymentConfig, options?: { dryRun?: boolean; verbose?: boolean; templatePath?: string; }): Promise<{ success: boolean; jobId: string; message: string; }>; /** * Stop a bot on Nomad */ stopBot(botId: string, purge?: boolean): Promise; /** * Get status of a bot */ getBotStatus(botId: string): Promise; /** * List all mothership bots on Nomad */ listBots(): Promise; /** * Get logs for a bot */ getBotLogs(botId: string, options?: { tail?: number; follow?: boolean; }): Promise; /** * Restart a bot */ restartBot(botId: string): Promise; /** * Build Nomad CLI command with config */ private buildNomadCommand; /** * Get Mothership version */ private getMothershipVersion; } /** * Helper function to create a Nomad client from environment */ export declare function createNomadClient(config?: Partial): NomadClient; //# sourceMappingURL=nomad.d.ts.map