interface VersionEntry {
    version: number;
    created: string;
    description?: string;
    ext: string;
}
interface CanvasMeta {
    id: string;
    name: string;
    contentType: "html" | "svg" | "image";
    currentVersion: number;
    created: string;
    updated: string;
    versions: VersionEntry[];
}
export interface CreateCanvasArgs {
    name: string;
    content?: string;
    file_path?: string;
    content_type: "html" | "svg" | "image";
}
export interface UpdateCanvasArgs {
    canvas_id: string;
    content?: string;
    file_path?: string;
    description?: string;
}
export interface CanvasResult {
    canvas_id: string;
    version: number;
    name: string;
    content_type: string;
    description?: string;
}
export interface CanvasContent {
    canvas_id: string;
    version: number;
    name: string;
    content_type: string;
    content?: string;
    file_size?: number;
}
export declare function createCanvas(args: CreateCanvasArgs): {
    error?: string;
    result?: CanvasResult;
};
export declare function updateCanvas(args: UpdateCanvasArgs): {
    error?: string;
    result?: CanvasResult;
};
export declare function readCanvas(canvasId: string, version?: number): {
    error?: string;
    result?: CanvasContent;
};
/**
 * Get canvas metadata without reading content.
 */
export declare function getCanvasMeta(canvasId: string): {
    error?: string;
    meta?: CanvasMeta;
};
/**
 * Resolve the snapshot file path and MIME type for serving.
 */
export declare function resolveSnapshot(canvasId: string, version: number): {
    error?: string;
    filePath?: string;
    mimeType?: string;
};
export {};
//# sourceMappingURL=canvas-service.d.ts.map