import { z } from 'zod';
import { type InferProvider } from './capability-definition.js';
declare const CpuBreakdownSchema: z.ZodObject<{
    total: z.ZodNumber;
    user: z.ZodNumber;
    system: z.ZodNumber;
    irq: z.ZodNumber;
    nice: z.ZodNumber;
    loadAvg: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
    cores: z.ZodNumber;
}, z.core.$strip>;
declare const MemoryInfoSchema: z.ZodObject<{
    percent: z.ZodNumber;
    totalBytes: z.ZodNumber;
    usedBytes: z.ZodNumber;
    availableBytes: z.ZodNumber;
    swapUsedBytes: z.ZodNumber;
    swapTotalBytes: z.ZodNumber;
}, z.core.$strip>;
declare const DiskIoSnapshotSchema: z.ZodObject<{
    readBytes: z.ZodNumber;
    writeBytes: z.ZodNumber;
    readOps: z.ZodNumber;
    writeOps: z.ZodNumber;
    timestampMs: z.ZodNumber;
}, z.core.$strip>;
declare const NetworkIoSnapshotSchema: z.ZodObject<{
    rxBytes: z.ZodNumber;
    txBytes: z.ZodNumber;
    rxPackets: z.ZodNumber;
    txPackets: z.ZodNumber;
    rxErrors: z.ZodNumber;
    txErrors: z.ZodNumber;
    timestampMs: z.ZodNumber;
}, z.core.$strip>;
declare const MetricsGpuInfoSchema: z.ZodObject<{
    utilization: z.ZodNumber;
    model: z.ZodString;
    memoryUsedBytes: z.ZodNumber;
    memoryTotalBytes: z.ZodNumber;
    temperature: z.ZodNullable<z.ZodNumber>;
}, z.core.$strip>;
declare const ProcessResourceInfoSchema: z.ZodObject<{
    openFds: z.ZodNumber;
    threadCount: z.ZodNumber;
    activeHandles: z.ZodNumber;
    activeRequests: z.ZodNumber;
}, z.core.$strip>;
declare const PressureInfoSchema: z.ZodObject<{
    some: z.ZodObject<{
        avg10: z.ZodNumber;
        avg60: z.ZodNumber;
        avg300: z.ZodNumber;
    }, z.core.$strip>;
    full: z.ZodNullable<z.ZodObject<{
        avg10: z.ZodNumber;
        avg60: z.ZodNumber;
        avg300: z.ZodNumber;
    }, z.core.$strip>>;
}, z.core.$strip>;
declare const SystemResourceSnapshotSchema: z.ZodObject<{
    cpu: z.ZodObject<{
        total: z.ZodNumber;
        user: z.ZodNumber;
        system: z.ZodNumber;
        irq: z.ZodNumber;
        nice: z.ZodNumber;
        loadAvg: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
        cores: z.ZodNumber;
    }, z.core.$strip>;
    memory: z.ZodObject<{
        percent: z.ZodNumber;
        totalBytes: z.ZodNumber;
        usedBytes: z.ZodNumber;
        availableBytes: z.ZodNumber;
        swapUsedBytes: z.ZodNumber;
        swapTotalBytes: z.ZodNumber;
    }, z.core.$strip>;
    gpu: z.ZodNullable<z.ZodObject<{
        utilization: z.ZodNumber;
        model: z.ZodString;
        memoryUsedBytes: z.ZodNumber;
        memoryTotalBytes: z.ZodNumber;
        temperature: z.ZodNullable<z.ZodNumber>;
    }, z.core.$strip>>;
    network: z.ZodObject<{
        rxBytes: z.ZodNumber;
        txBytes: z.ZodNumber;
        rxPackets: z.ZodNumber;
        txPackets: z.ZodNumber;
        rxErrors: z.ZodNumber;
        txErrors: z.ZodNumber;
        timestampMs: z.ZodNumber;
    }, z.core.$strip>;
    disk: z.ZodObject<{
        readBytes: z.ZodNumber;
        writeBytes: z.ZodNumber;
        readOps: z.ZodNumber;
        writeOps: z.ZodNumber;
        timestampMs: z.ZodNumber;
    }, z.core.$strip>;
    pressure: z.ZodObject<{
        cpu: z.ZodNullable<z.ZodObject<{
            some: z.ZodObject<{
                avg10: z.ZodNumber;
                avg60: z.ZodNumber;
                avg300: z.ZodNumber;
            }, z.core.$strip>;
            full: z.ZodNullable<z.ZodObject<{
                avg10: z.ZodNumber;
                avg60: z.ZodNumber;
                avg300: z.ZodNumber;
            }, z.core.$strip>>;
        }, z.core.$strip>>;
        memory: z.ZodNullable<z.ZodObject<{
            some: z.ZodObject<{
                avg10: z.ZodNumber;
                avg60: z.ZodNumber;
                avg300: z.ZodNumber;
            }, z.core.$strip>;
            full: z.ZodNullable<z.ZodObject<{
                avg10: z.ZodNumber;
                avg60: z.ZodNumber;
                avg300: z.ZodNumber;
            }, z.core.$strip>>;
        }, z.core.$strip>>;
        io: z.ZodNullable<z.ZodObject<{
            some: z.ZodObject<{
                avg10: z.ZodNumber;
                avg60: z.ZodNumber;
                avg300: z.ZodNumber;
            }, z.core.$strip>;
            full: z.ZodNullable<z.ZodObject<{
                avg10: z.ZodNumber;
                avg60: z.ZodNumber;
                avg300: z.ZodNumber;
            }, z.core.$strip>>;
        }, z.core.$strip>>;
    }, z.core.$strip>;
    process: z.ZodObject<{
        openFds: z.ZodNumber;
        threadCount: z.ZodNumber;
        activeHandles: z.ZodNumber;
        activeRequests: z.ZodNumber;
    }, z.core.$strip>;
    cpuTemperature: z.ZodNullable<z.ZodNumber>;
    timestampMs: z.ZodNumber;
}, z.core.$strip>;
declare const DiskSpaceInfoSchema: z.ZodObject<{
    path: z.ZodString;
    totalBytes: z.ZodNumber;
    usedBytes: z.ZodNumber;
    availableBytes: z.ZodNumber;
    percent: z.ZodNumber;
}, z.core.$strip>;
declare const PidResourceStatsSchema: z.ZodObject<{
    pid: z.ZodNumber;
    cpu: z.ZodNumber;
    memory: z.ZodNumber;
}, z.core.$strip>;
declare const AddonInstanceSchema: z.ZodObject<{
    addonId: z.ZodString;
    nodeId: z.ZodString;
    role: z.ZodEnum<{
        hub: "hub";
        worker: "worker";
    }>;
    pid: z.ZodNumber;
    state: z.ZodEnum<{
        running: "running";
        stopped: "stopped";
        starting: "starting";
        stopping: "stopping";
        crashed: "crashed";
    }>;
    uptimeSec: z.ZodNumber;
}, z.core.$strip>;
declare const NodeProcessSchema: z.ZodObject<{
    pid: z.ZodNumber;
    ppid: z.ZodNumber;
    pgid: z.ZodNumber;
    classification: z.ZodEnum<{
        system: "system";
        root: "root";
        managed: "managed";
        ghost: "ghost";
    }>;
    addonId: z.ZodNullable<z.ZodString>;
    nodeId: z.ZodNullable<z.ZodString>;
    command: z.ZodString;
    cpuPercent: z.ZodNumber;
    memoryRssBytes: z.ZodNumber;
    uptimeSec: z.ZodNumber;
    orphaned: z.ZodBoolean;
}, z.core.$strip>;
declare const KillProcessInputSchema: z.ZodObject<{
    pid: z.ZodNumber;
    force: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;
declare const KillProcessResultSchema: z.ZodObject<{
    success: z.ZodBoolean;
    reason: z.ZodOptional<z.ZodString>;
    signal: z.ZodOptional<z.ZodEnum<{
        SIGTERM: "SIGTERM";
        SIGKILL: "SIGKILL";
    }>>;
}, z.core.$strip>;
declare const SystemMetricsSchema: z.ZodObject<{
    cpuPercent: z.ZodNumber;
    memoryPercent: z.ZodNumber;
    memoryUsedMB: z.ZodNumber;
    memoryTotalMB: z.ZodNumber;
    diskPercent: z.ZodOptional<z.ZodNumber>;
    temperature: z.ZodOptional<z.ZodNumber>;
    gpuPercent: z.ZodOptional<z.ZodNumber>;
    gpuMemoryPercent: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
export declare const metricsProviderCapability: {
    readonly name: "metrics-provider";
    readonly scope: "system";
    readonly mode: "singleton";
    readonly methods: {
        /** Fresh, full system snapshot (triggers OS-level collection). */
        readonly collectSnapshot: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodObject<{
            cpu: z.ZodObject<{
                total: z.ZodNumber;
                user: z.ZodNumber;
                system: z.ZodNumber;
                irq: z.ZodNumber;
                nice: z.ZodNumber;
                loadAvg: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
                cores: z.ZodNumber;
            }, z.core.$strip>;
            memory: z.ZodObject<{
                percent: z.ZodNumber;
                totalBytes: z.ZodNumber;
                usedBytes: z.ZodNumber;
                availableBytes: z.ZodNumber;
                swapUsedBytes: z.ZodNumber;
                swapTotalBytes: z.ZodNumber;
            }, z.core.$strip>;
            gpu: z.ZodNullable<z.ZodObject<{
                utilization: z.ZodNumber;
                model: z.ZodString;
                memoryUsedBytes: z.ZodNumber;
                memoryTotalBytes: z.ZodNumber;
                temperature: z.ZodNullable<z.ZodNumber>;
            }, z.core.$strip>>;
            network: z.ZodObject<{
                rxBytes: z.ZodNumber;
                txBytes: z.ZodNumber;
                rxPackets: z.ZodNumber;
                txPackets: z.ZodNumber;
                rxErrors: z.ZodNumber;
                txErrors: z.ZodNumber;
                timestampMs: z.ZodNumber;
            }, z.core.$strip>;
            disk: z.ZodObject<{
                readBytes: z.ZodNumber;
                writeBytes: z.ZodNumber;
                readOps: z.ZodNumber;
                writeOps: z.ZodNumber;
                timestampMs: z.ZodNumber;
            }, z.core.$strip>;
            pressure: z.ZodObject<{
                cpu: z.ZodNullable<z.ZodObject<{
                    some: z.ZodObject<{
                        avg10: z.ZodNumber;
                        avg60: z.ZodNumber;
                        avg300: z.ZodNumber;
                    }, z.core.$strip>;
                    full: z.ZodNullable<z.ZodObject<{
                        avg10: z.ZodNumber;
                        avg60: z.ZodNumber;
                        avg300: z.ZodNumber;
                    }, z.core.$strip>>;
                }, z.core.$strip>>;
                memory: z.ZodNullable<z.ZodObject<{
                    some: z.ZodObject<{
                        avg10: z.ZodNumber;
                        avg60: z.ZodNumber;
                        avg300: z.ZodNumber;
                    }, z.core.$strip>;
                    full: z.ZodNullable<z.ZodObject<{
                        avg10: z.ZodNumber;
                        avg60: z.ZodNumber;
                        avg300: z.ZodNumber;
                    }, z.core.$strip>>;
                }, z.core.$strip>>;
                io: z.ZodNullable<z.ZodObject<{
                    some: z.ZodObject<{
                        avg10: z.ZodNumber;
                        avg60: z.ZodNumber;
                        avg300: z.ZodNumber;
                    }, z.core.$strip>;
                    full: z.ZodNullable<z.ZodObject<{
                        avg10: z.ZodNumber;
                        avg60: z.ZodNumber;
                        avg300: z.ZodNumber;
                    }, z.core.$strip>>;
                }, z.core.$strip>>;
            }, z.core.$strip>;
            process: z.ZodObject<{
                openFds: z.ZodNumber;
                threadCount: z.ZodNumber;
                activeHandles: z.ZodNumber;
                activeRequests: z.ZodNumber;
            }, z.core.$strip>;
            cpuTemperature: z.ZodNullable<z.ZodNumber>;
            timestampMs: z.ZodNumber;
        }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
        /** Most recent cached snapshot from the background sampler, or null pre-first-sample. */
        readonly getCached: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodNullable<z.ZodObject<{
            cpu: z.ZodObject<{
                total: z.ZodNumber;
                user: z.ZodNumber;
                system: z.ZodNumber;
                irq: z.ZodNumber;
                nice: z.ZodNumber;
                loadAvg: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
                cores: z.ZodNumber;
            }, z.core.$strip>;
            memory: z.ZodObject<{
                percent: z.ZodNumber;
                totalBytes: z.ZodNumber;
                usedBytes: z.ZodNumber;
                availableBytes: z.ZodNumber;
                swapUsedBytes: z.ZodNumber;
                swapTotalBytes: z.ZodNumber;
            }, z.core.$strip>;
            gpu: z.ZodNullable<z.ZodObject<{
                utilization: z.ZodNumber;
                model: z.ZodString;
                memoryUsedBytes: z.ZodNumber;
                memoryTotalBytes: z.ZodNumber;
                temperature: z.ZodNullable<z.ZodNumber>;
            }, z.core.$strip>>;
            network: z.ZodObject<{
                rxBytes: z.ZodNumber;
                txBytes: z.ZodNumber;
                rxPackets: z.ZodNumber;
                txPackets: z.ZodNumber;
                rxErrors: z.ZodNumber;
                txErrors: z.ZodNumber;
                timestampMs: z.ZodNumber;
            }, z.core.$strip>;
            disk: z.ZodObject<{
                readBytes: z.ZodNumber;
                writeBytes: z.ZodNumber;
                readOps: z.ZodNumber;
                writeOps: z.ZodNumber;
                timestampMs: z.ZodNumber;
            }, z.core.$strip>;
            pressure: z.ZodObject<{
                cpu: z.ZodNullable<z.ZodObject<{
                    some: z.ZodObject<{
                        avg10: z.ZodNumber;
                        avg60: z.ZodNumber;
                        avg300: z.ZodNumber;
                    }, z.core.$strip>;
                    full: z.ZodNullable<z.ZodObject<{
                        avg10: z.ZodNumber;
                        avg60: z.ZodNumber;
                        avg300: z.ZodNumber;
                    }, z.core.$strip>>;
                }, z.core.$strip>>;
                memory: z.ZodNullable<z.ZodObject<{
                    some: z.ZodObject<{
                        avg10: z.ZodNumber;
                        avg60: z.ZodNumber;
                        avg300: z.ZodNumber;
                    }, z.core.$strip>;
                    full: z.ZodNullable<z.ZodObject<{
                        avg10: z.ZodNumber;
                        avg60: z.ZodNumber;
                        avg300: z.ZodNumber;
                    }, z.core.$strip>>;
                }, z.core.$strip>>;
                io: z.ZodNullable<z.ZodObject<{
                    some: z.ZodObject<{
                        avg10: z.ZodNumber;
                        avg60: z.ZodNumber;
                        avg300: z.ZodNumber;
                    }, z.core.$strip>;
                    full: z.ZodNullable<z.ZodObject<{
                        avg10: z.ZodNumber;
                        avg60: z.ZodNumber;
                        avg300: z.ZodNumber;
                    }, z.core.$strip>>;
                }, z.core.$strip>>;
            }, z.core.$strip>;
            process: z.ZodObject<{
                openFds: z.ZodNumber;
                threadCount: z.ZodNumber;
                activeHandles: z.ZodNumber;
                activeRequests: z.ZodNumber;
            }, z.core.$strip>;
            cpuTemperature: z.ZodNullable<z.ZodNumber>;
            timestampMs: z.ZodNumber;
        }, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
        /** Light-weight cached summary for heartbeats and list views. */
        readonly getCurrent: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodObject<{
            cpuPercent: z.ZodNumber;
            memoryPercent: z.ZodNumber;
            memoryUsedMB: z.ZodNumber;
            memoryTotalMB: z.ZodNumber;
            diskPercent: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            gpuPercent: z.ZodOptional<z.ZodNumber>;
            gpuMemoryPercent: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
        /** Disk space for the given mount/path. */
        readonly getDiskSpace: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            dirPath: z.ZodString;
        }, z.core.$strip>, z.ZodObject<{
            path: z.ZodString;
            totalBytes: z.ZodNumber;
            usedBytes: z.ZodNumber;
            availableBytes: z.ZodNumber;
            percent: z.ZodNumber;
        }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
        /** GPU info (null if unavailable). */
        readonly getGpuInfo: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodNullable<z.ZodObject<{
            utilization: z.ZodNumber;
            model: z.ZodString;
            memoryUsedBytes: z.ZodNumber;
            memoryTotalBytes: z.ZodNumber;
            temperature: z.ZodNullable<z.ZodNumber>;
        }, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
        /** CPU temperature in °C (null if unavailable). */
        readonly getCpuTemperature: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodNullable<z.ZodNumber>, import("./capability-definition.js").CapabilityMethodKind>;
        /** Per-PID resource stats. Missing/dead PIDs are omitted from the result. */
        readonly getProcessStats: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            pids: z.ZodArray<z.ZodNumber>;
        }, z.core.$strip>, z.ZodArray<z.ZodObject<{
            pid: z.ZodNumber;
            cpu: z.ZodNumber;
            memory: z.ZodNumber;
        }, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
        /**
         * List addon instances known to this node — one entry per forked worker
         * plus a synthetic 'hub' entry representing the local hub process.
         * Used by benchmarks/observability to detect whether a given addon runs
         * in its own process (measurable independently) or inline with the hub.
         */
        readonly listAddonInstances: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodReadonly<z.ZodArray<z.ZodObject<{
            addonId: z.ZodString;
            nodeId: z.ZodString;
            role: z.ZodEnum<{
                hub: "hub";
                worker: "worker";
            }>;
            pid: z.ZodNumber;
            state: z.ZodEnum<{
                running: "running";
                stopped: "stopped";
                starting: "starting";
                stopping: "stopping";
                crashed: "crashed";
            }>;
            uptimeSec: z.ZodNumber;
        }, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
        /**
         * Resource stats for the process hosting the given addon.
         * Returns null when the addon runs in-process on the hub (can't measure
         * independently — caller should detect via listAddonInstances). Returns
         * hub process stats for addonId '$hub'.
         */
        readonly getAddonStats: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            addonId: z.ZodString;
        }, z.core.$strip>, z.ZodNullable<z.ZodObject<{
            pid: z.ZodNumber;
            cpu: z.ZodNumber;
            memory: z.ZodNumber;
        }, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
        /**
         * Snapshot of every camstack-related process on this node with a
         * ghost/managed/root classification. Powers the Cluster → Agent →
         * Processes tab: cross-references `$process.list` against a `ps` scan
         * so orphaned trees (PPID=1) or unknown children show up as `ghost`
         * and can be killed from the UI.
         */
        readonly listNodeProcesses: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodReadonly<z.ZodArray<z.ZodObject<{
            pid: z.ZodNumber;
            ppid: z.ZodNumber;
            pgid: z.ZodNumber;
            classification: z.ZodEnum<{
                system: "system";
                root: "root";
                managed: "managed";
                ghost: "ghost";
            }>;
            addonId: z.ZodNullable<z.ZodString>;
            nodeId: z.ZodNullable<z.ZodString>;
            command: z.ZodString;
            cpuPercent: z.ZodNumber;
            memoryRssBytes: z.ZodNumber;
            uptimeSec: z.ZodNumber;
            orphaned: z.ZodBoolean;
        }, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
        /**
         * Send SIGTERM (or SIGKILL when `force`) to a pid inside this node's
         * process tree. The provider refuses pids that aren't in the live
         * `listNodeProcesses()` snapshot — callers can't use this endpoint
         * to kill arbitrary system processes.
         */
        readonly killProcess: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            pid: z.ZodNumber;
            force: z.ZodOptional<z.ZodBoolean>;
        }, z.core.$strip>, z.ZodObject<{
            success: z.ZodBoolean;
            reason: z.ZodOptional<z.ZodString>;
            signal: z.ZodOptional<z.ZodEnum<{
                SIGTERM: "SIGTERM";
                SIGKILL: "SIGKILL";
            }>>;
        }, z.core.$strip>, "mutation">;
    };
};
export type IMetricsProvider = InferProvider<typeof metricsProviderCapability>;
export { SystemMetricsSchema, SystemResourceSnapshotSchema, DiskSpaceInfoSchema, MetricsGpuInfoSchema, PidResourceStatsSchema, AddonInstanceSchema, NodeProcessSchema, KillProcessInputSchema, KillProcessResultSchema, CpuBreakdownSchema, MemoryInfoSchema, DiskIoSnapshotSchema, NetworkIoSnapshotSchema, ProcessResourceInfoSchema, PressureInfoSchema, };
//# sourceMappingURL=metrics-provider.cap.d.ts.map