export declare function getDesiredFromMessage(message: any): any; export declare function getReportedFromMessage(message: any): any; export declare function getUpdateDeltaStateFromMessage(message: any): any; export declare const ShadowTopics: { get: "get"; 'get/accepted': "get/accepted"; 'get/rejected': "get/rejected"; update: "update"; 'update/delta': "update/delta"; 'update/accepted': "update/accepted"; 'update/rejected': "update/rejected"; delete: "delete"; 'delete/accepted': "delete/accepted"; 'delete/rejected': "delete/rejected"; }; export declare type ShadowTopics = keyof typeof ShadowTopics; export declare const SHADOW_TOPICS: ("get" | "get/accepted" | "get/rejected" | "update" | "update/delta" | "update/accepted" | "update/rejected" | "delete" | "delete/accepted" | "delete/rejected")[]; declare const ShadowNames: { projects: "projects"; 'system-info': "system-info"; 'secure-tunnel': "secure-tunnel"; 'device-agent-status': "device-agent-status"; }; export declare type ShadowNames = keyof typeof ShadowNames; export declare const SHADOW_NAMES: ("secure-tunnel" | "projects" | "system-info" | "device-agent-status")[]; export declare const getShadowTopic: (clientId: string, shadowName: ShadowNames, shadowTopic: ShadowTopics) => string; export declare type ShadowUpdateTypes = ShadowProjectsUpdateAll | SystemInformationShadowUpdate | SecureTunnelShadowUpdate | DeviceAgentStatusShadowUpdate; export interface ProjectShadowUpdate { appConfig?: string; envVars?: string; } export interface ProjectShadowUpdateLegacy { appConfig?: string; envVars?: { [service: string]: { [key: string]: string | null; }; }; } export interface ShadowProjectsUpdateAll { [projectId: string]: ProjectShadowUpdate | null; } export declare const validateProjectShadowUpdate: import("ajv/dist/types").ValidateFunction; export declare const validateLegacyProjectShadowUpdate: import("ajv/dist/types").ValidateFunction; export declare const validateShadowProjectsUpdateAll: import("ajv/dist/types").ValidateFunction; export interface SystemInformationShadowUpdate { os?: { platform?: string; distro?: string; release?: string; kernel?: string; architecture?: string; hostname?: string; }; cpu?: { manufacturer?: string; brand?: string; vendor?: string; model?: string; cores?: string; physicalCores?: string; efficiencyCores?: string; processors?: string; }; disk?: { drives: { device?: string; type?: string; name?: string; vendor?: string; size?: string; }[]; }; device?: { manufacturer?: string; model?: string; version?: string; serial?: string; virtual?: boolean; }; network?: { ipv4Address?: string; ipv6Address?: string; macAddress?: string; }; versions?: { agent?: string; deviceAgentSchemas?: string; npm?: string; node?: string; docker?: string; dockerCompose?: string; }; lastBootTime?: string; } export declare const validateSystemInformationShadowUpdate: import("ajv/dist/types").ValidateFunction; export interface EnvVars { [service: string]: { [name: string]: string | null; }; } export declare const validateEnvVarSchemaShadowUpdate: import("ajv/dist/types").ValidateFunction; export declare type SecureTunnelPortInfo = { enabled: boolean; type: string; ip: string; port: number; }; export declare type SecureTunnelShadowUpdate = { st_ports: SecureTunnelPortInfo[]; }; export declare const validateSecureTunnelShadowUpdate: import("ajv/dist/types").ValidateFunction; export declare const passthroughStatusEnum: { starting: "starting"; running: "running"; error: "error"; disabled: "disabled"; }; export declare type PassthroughStatusValue = keyof typeof passthroughStatusEnum; export interface DeviceAgentStatusShadowUpdate { passthrough: { status: PassthroughStatusValue; message: string; }; } export declare const validateDeviceAgentStatusShadowUpdate: import("ajv/dist/types").ValidateFunction; export declare function buildUpdateShadowMessage(opts: { clientId: string; reported?: T; desired?: T; }): { state: { reported: T | undefined; desired: T | undefined; }; clientToken: string; }; export declare function buildBaseShadowMessage(clientId: string): { clientToken: string; }; export {}; //# sourceMappingURL=shadow-schema.d.ts.map