"use strict";
Object.defineProperty(exports, "__esModule", {
    value: true
});
function _export(target, all) {
    for(var name in all)Object.defineProperty(target, name, {
        enumerable: true,
        get: Object.getOwnPropertyDescriptor(all, name).get
    });
}
_export(exports, {
    get BambuType () {
        return BambuType;
    },
    get MoonrakerType () {
        return MoonrakerType;
    },
    get OctoprintType () {
        return OctoprintType;
    },
    get PrinterTypesEnum () {
        return PrinterTypesEnum;
    },
    get PrusaLinkType () {
        return PrusaLinkType;
    },
    get ReprintState () {
        return ReprintState;
    },
    get uploadFileInputSchema () {
        return uploadFileInputSchema;
    }
});
const _zod = require("zod");
const uploadFileInputSchema = _zod.z.object({
    stream: _zod.z.custom((val)=>{
        return val && typeof val === "object" && "pipe" in val && typeof val.pipe === "function";
    }, "Must be a readable stream"),
    fileName: _zod.z.string().min(1),
    contentLength: _zod.z.number().int().positive(),
    startPrint: _zod.z.boolean(),
    uploadToken: _zod.z.string().optional()
});
const OctoprintType = 0;
const MoonrakerType = 1;
const PrusaLinkType = 2;
const BambuType = 3;
var PrinterTypesEnum = /*#__PURE__*/ function(PrinterTypesEnum) {
    PrinterTypesEnum[PrinterTypesEnum["Octoprint"] = 0] = "Octoprint";
    PrinterTypesEnum[PrinterTypesEnum["Moonraker"] = 1] = "Moonraker";
    PrinterTypesEnum[PrinterTypesEnum["PrusaLink"] = 2] = "PrusaLink";
    PrinterTypesEnum[PrinterTypesEnum["Bambu"] = 3] = "Bambu";
    return PrinterTypesEnum;
}({});
var ReprintState = /*#__PURE__*/ function(ReprintState) {
    ReprintState[ReprintState["PrinterNotAvailable"] = 0] = "PrinterNotAvailable";
    ReprintState[ReprintState["NoLastPrint"] = 1] = "NoLastPrint";
    ReprintState[ReprintState["LastPrintReady"] = 2] = "LastPrintReady";
    return ReprintState;
}({});

//# sourceMappingURL=printer-api.interface.js.map