import { z } from 'zod'; import { Resource } from './resource.entity'; export declare enum ResourceFlowNodeType { INPUT_BUTTON = "input.button", INPUT_RESOURCE_USAGE_STARTED = "input.resource.usage.started", INPUT_RESOURCE_USAGE_STOPPED = "input.resource.usage.stopped", INPUT_RESOURCE_USAGE_TAKEOVER = "input.resource.usage.takeover", INPUT_RESOURCE_DOOR_UNLOCKED = "input.resource.door.unlocked", INPUT_RESOURCE_DOOR_LOCKED = "input.resource.door.locked", INPUT_RESOURCE_DOOR_UNLATCHED = "input.resource.door.unlatched", INPUT_MQTT_MESSAGE_RECEIVED = "input.mqtt.message.received", INPUT_RESOURCE_ACTIVITY_NO_ACTIVITY = "input.resource.activity.no-activity", INPUT_VARIABLE_CHANGED = "input.variable.changed", OUTPUT_HTTP_SEND_REQUEST = "output.http.sendRequest", OUTPUT_MQTT_SEND_MESSAGE = "output.mqtt.sendMessage", OUTPUT_RESOURCE_BILLING_SET_ADDITIONAL_ITEMS = "output.resource.billing.calculation.set-additional-items", OUTPUT_RESOURCE_USAGE_END_SESSION = "output.resource.usage.end-session", OUTPUT_RESOURCE_ACTIVITY_TRACK_ACTIVITY = "output.resource.activity.track-activity", PROCESSING_WAIT = "processing.wait", PROCESSING_IF = "processing.if", PROCESSING_SET_PAYLOAD = "processing.set-payload", PROCESSING_MQTT_WAIT_FOR_MESSAGE = "processing.mqtt.waitForMessage", PROCESSING_ERROR = "processing.error", PROCESSING_SET_VARIABLES = "processing.variables.set", PROCESSING_GET_VARIABLES = "processing.variables.get", OUTPUT_RESOURCE_HEALTH_HEARTBEAT = "output.resource.health.heartbeat", OUTPUT_RESOURCE_HEALTH_SET = "output.resource.health.set", OUTPUT_COMPANION_LOCK_PC = "output.companion.lock-pc", OUTPUT_COMPANION_UNLOCK_PC = "output.companion.unlock-pc", INPUT_COMPANION_IDLE = "input.companion.idle", INPUT_COMPANION_ACTIVE = "input.companion.active", INPUT_COMPANION_FOREGROUND_APP_CHANGED = "input.companion.foreground_app_changed", INPUT_COMPANION_USB_DEVICE_CONNECTED = "input.companion.usb_device_connected", INPUT_COMPANION_USB_DEVICE_DISCONNECTED = "input.companion.usb_device_disconnected" } export declare const VariableScopeSchema: z.ZodEnum<{ resource: "resource"; global: "global"; }>; export declare const NodeWithoutDataSchema: z.ZodOptional>; export declare const ButtonNodeDataSchema: z.ZodObject<{ label: z.ZodString; }, z.core.$strip>; export declare const HttpRequestNodeDataSchema: z.ZodObject<{ url: z.ZodString; method: z.ZodEnum<{ GET: "GET"; POST: "POST"; PUT: "PUT"; PATCH: "PATCH"; DELETE: "DELETE"; HEAD: "HEAD"; OPTIONS: "OPTIONS"; }>; headers: z.ZodDefault>>; body: z.ZodDefault>; }, z.core.$strip>; export declare const MqttSendMessageNodeDataSchema: z.ZodObject<{ serverId: z.ZodNumber; topic: z.ZodString; payload: z.ZodDefault>; qos: z.ZodOptional; retain: z.ZodOptional; }, z.core.$strip>; export declare const WaitNodeDataSchema: z.ZodObject<{ duration: z.ZodNumber; unit: z.ZodEnum<{ seconds: "seconds"; minutes: "minutes"; hours: "hours"; }>; }, z.core.$strip>; export declare const IfNodeDataSchema: z.ZodObject<{ path: z.ZodString; comparisonOperator: z.ZodEnum<{ "=": "="; "!=": "!="; ">": ">"; "<": "<"; ">=": ">="; "<=": "<="; }>; comparisonValueIsPath: z.ZodDefault; comparisonValue: z.ZodString; }, z.core.$strip>; export declare const BillingTransactionItemCreateSchema: z.ZodObject<{ name: z.ZodString; unitPrice: z.ZodNumber; quantity: z.ZodCoercedNumber; description: z.ZodOptional; externalReference: z.ZodOptional; }, z.core.$strip>; export declare const ResourceActivityTrackActivityNodeDataSchema: z.ZodObject<{}, z.core.$strip>; export declare const MqttMessageReceivedNodeDataSchema: z.ZodObject<{ topic: z.ZodString; serverId: z.ZodNumber; }, z.core.$strip>; export declare const InputResourceActivityNoActivityNodeDataSchema: z.ZodObject<{ minInactivityMinutes: z.ZodNumber; }, z.core.$strip>; export declare const SetPayloadNodeDataSchema: z.ZodObject<{ entries: z.ZodDefault>; }, z.core.$strip>>>; }, z.core.$strip>; export declare const SetVariablesNodeDataSchema: z.ZodObject<{ variables: z.ZodArray>; scope: z.ZodEnum<{ resource: "resource"; global: "global"; }>; }, z.core.$strip>>; }, z.core.$strip>; export declare const GetVariablesNodeDataSchema: z.ZodObject<{ variables: z.ZodArray; payloadPath: z.ZodString; }, z.core.$strip>>; }, z.core.$strip>; export declare const VariableChangedNodeDataSchema: z.ZodObject<{ watches: z.ZodArray; }, z.core.$strip>>; source: z.ZodDefault>; }, z.core.$strip>; export declare const MqttWaitForMessageNodeDataSchema: z.ZodObject<{ serverId: z.ZodNumber; topic: z.ZodString; timeoutSeconds: z.ZodNumber; subscribeQos: z.ZodOptional; }, z.core.$strip>; export declare const ErrorNodeDataSchema: z.ZodObject<{ message: z.ZodString; }, z.core.$strip>; export declare const ResourceUsageEndSessionNodeDataSchema: z.ZodOptional; }, z.core.$strip>>; export declare const HealthStateOptionEnum: z.ZodEnum<{ healthy: "healthy"; unhealthy: "unhealthy"; }>; export declare const ResourceHealthHeartbeatNodeDataSchema: z.ZodObject<{ identifier: z.ZodDefault>; timeoutSeconds: z.ZodNumber; unhealthyReason: z.ZodDefault>; }, z.core.$strip>; export declare const ResourceHealthSetNodeDataSchema: z.ZodObject<{ identifier: z.ZodDefault>; status: z.ZodEnum<{ healthy: "healthy"; unhealthy: "unhealthy"; }>; reason: z.ZodDefault>; }, z.core.$strip>; export declare const CompanionLockNodeDataSchema: z.ZodObject<{ deviceId: z.ZodNumber; }, z.core.$strip>; export declare const CompanionIdleActiveNodeDataSchema: z.ZodObject<{ deviceId: z.ZodNumber; }, z.core.$strip>; export declare const CompanionForegroundAppNodeDataSchema: z.ZodObject<{ deviceId: z.ZodNumber; }, z.core.$strip>; export declare const CompanionUsbDeviceNodeDataSchema: z.ZodObject<{ deviceId: z.ZodNumber; vendorId: z.ZodOptional; productId: z.ZodOptional; }, z.core.$strip>; export declare function getNodeDataSchema(nodeType: ResourceFlowNodeType): z.ZodOptional> | z.ZodObject<{}, z.core.$strip>; export declare class ResourceFlowNodePosition { x: number; y: number; } export declare class ResourceFlowNode { id: string; type: ResourceFlowNodeType; position: ResourceFlowNodePosition; data: Record; createdAt: Date; updatedAt: Date; resourceId: number; resource: Resource; }