declare module '@debros/cli' { // Core interfaces for node and network information export interface NodeInfo { id: string; address: string; port: number; load: number; type: "k3s" | "docker"; } export interface NodeList { nodes: NodeInfo[]; updatedAt: string; } // Configuration interface export interface DebrosCliConfig { ipfsDataPath: string; ipnsKeysPath: string; dockerRegistry: string; bootstrapNodes: string[]; defaultDomain: string; solanaEndpoint: string; defaultDeploymentStrategy: "k3s" | "docker"; } // IPFS services export function initializeIpfs(): Promise<{ ipfs: any; libp2p: any }>; export function uploadToIPFS(filePath: string): Promise; export function ensureIPNSKey(name: string): Promise; export function publishToIPNS(cid: string, keyName: string): Promise; export function publishNodeList(nodes: NodeInfo[], appName: string): Promise<{ cid: string; ipnsAddress: string }>; export function fetchNodeList(ipnsPath: string): Promise; // Docker services export function buildDockerImage( folderPath: string, imageName: string, tag?: string, additionalArgs?: string[] ): Promise<{ imageName: string; output: string }>; export function saveDockerImage(imageName: string, outputPath: string): Promise; export function loadDockerImage(tarPath: string): Promise<{ imagePath: string; loadedImage: string | undefined }>; export function runContainer( imageName: string, containerName: string, ports?: { [key: string]: string }, envVars?: { [key: string]: string }, volumes?: { [key: string]: string } ): Promise; // Network services export function getPeers(): Promise; export function getPeersAsNodeInfo(): Promise; export function announceDeployment( cid: string, appName: string, version?: string, domain?: string ): Promise; export function listenForDeployments( callback: (message: { cid: string; appName: string; version: string; domain: string }) => void ): Promise; export function getAppVersions(appName: string): Promise>; export function rollbackToVersion( appName: string, versionTag?: string, domain?: string, force?: boolean ): Promise<{ success: boolean; message?: string; version?: string; cid?: string }>; export function startApplication( appName: string, versionTag?: string ): Promise<{ success: boolean; message?: string }>; export function stopApplication( appName: string, force?: boolean ): Promise<{ success: boolean; message?: string }>; export function deleteApplication( appName: string, force?: boolean ): Promise<{ success: boolean; message?: string }>; }