import { PrinterImplementation } from "../types.js"; interface BambuPrintOptionsInternal { projectName: string; filePath: string; useAMS?: boolean; plateIndex?: number; bedType?: string; bedLeveling?: boolean; flowCalibration?: boolean; vibrationCalibration?: boolean; layerInspect?: boolean; timelapse?: boolean; amsMapping?: number[]; md5?: string; } export declare class BambuImplementation extends PrinterImplementation { private printerStore; constructor(apiClient: any); private getPrinter; private resolveProjectFileMetadata; getStatus(host: string, port: string, apiKey: string): Promise; print3mf(host: string, serial: string, token: string, options: BambuPrintOptionsInternal): Promise; cancelJob(host: string, port: string, apiKey: string): Promise; setTemperature(host: string, port: string, apiKey: string, component: string, temperature: number): Promise<{ status: string; message: string; command: string; }>; getFiles(host: string, port: string, apiKey: string): Promise<{ files: string[]; directories: Record; }>; getFile(host: string, port: string, apiKey: string, filename: string): Promise<{ name: string; exists: boolean; }>; uploadFile(host: string, port: string, apiKey: string, filePath: string, filename: string, print: boolean): Promise>; startJob(host: string, port: string, apiKey: string, filename: string): Promise<{ status: string; message: string; file: string; }>; /** * Upload a file to the printer via FTP using basic-ftp directly. * Bypasses bambu-js's sendFile which has a double-path bug (ensureDir CDs * into the target directory, then uploadFrom uses the full relative path * again, resulting in e.g. /cache/cache/file.3mf). */ private ftpUpload; private extractBambuCredentials; disconnectAll(): Promise; } export {};