import { z } from 'zod';
import { type InferProvider } from './capability-definition.js';
export declare const deviceOpsCapability: {
    readonly name: "device-ops";
    readonly scope: "device";
    readonly mode: "singleton";
    readonly methods: {
        /**
         * Return stream sources for camera-like devices. Non-camera devices
         * return an empty array (the bridge did the same; preserved for compat).
         */
        readonly getStreamSources: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            deviceId: z.ZodNumber;
        }, z.core.$strip>, z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            label: z.ZodString;
            protocol: z.ZodEnum<{
                custom: "custom";
                rtsp: "rtsp";
                rtmp: "rtmp";
                webrtc: "webrtc";
                annexb: "annexb";
                "http-mjpeg": "http-mjpeg";
            }>;
            url: z.ZodOptional<z.ZodString>;
            resolution: z.ZodOptional<z.ZodObject<{
                width: z.ZodNumber;
                height: z.ZodNumber;
            }, z.core.$strip>>;
            fps: z.ZodOptional<z.ZodNumber>;
            bitrate: z.ZodOptional<z.ZodNumber>;
            codec: z.ZodOptional<z.ZodString>;
            profileHint: z.ZodOptional<z.ZodEnum<{
                high: "high";
                mid: "mid";
                low: "low";
            }>>;
            sdp: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
        /**
         * Return the device's config entries (key + current value). Used by
         * the device-manager aggregator when reading the driver's schema+values.
         */
        readonly getConfigEntries: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            deviceId: z.ZodNumber;
        }, z.core.$strip>, z.ZodArray<z.ZodObject<{
            key: z.ZodString;
            value: z.ZodUnknown;
        }, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
        /**
         * Bulk-apply a config patch via `IDevice.config.setAll`. Covers the
         * updateConfig / setStreamProfileMap / enable-as-config paths from
         * the old bridge.
         */
        readonly setConfig: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            deviceId: z.ZodNumber;
            values: z.ZodRecord<z.ZodString, z.ZodUnknown>;
        }, z.core.$strip>, z.ZodVoid, "mutation">;
        /**
         * Invoke `IDevice.removeDevice()` so the driver can release resources
         * (close sockets, stop background tasks, …). The device-manager still
         * performs its own persistence cleanup before/after this call.
         */
        readonly removeDevice: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            deviceId: z.ZodNumber;
        }, z.core.$strip>, z.ZodVoid, "mutation">;
        /**
         * Build the ConfigUISchema (FormBuilder input shape) from the device's
         * Zod config schema. Runs on the worker that owns the IDevice so the
         * Zod types stay local (they're function references, not
         * serializable). Returns a fully JSON-serializable schema with
         * sections/fields the admin UI renders directly.
         *
         * Needed because the hub-side `device-manager.getSettingsSchema`
         * couldn't reach forked-worker devices — it had no registry entry
         * and no cross-process lookup, so the UI silently rendered an empty
         * settings panel for every worker-owned device.
         *
         * Returns `null` when the device isn't found on this worker.
         */
        readonly getSettingsSchema: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            deviceId: z.ZodNumber;
        }, z.core.$strip>, z.ZodNullable<z.ZodUnknown>, import("./capability-definition.js").CapabilityMethodKind>;
    };
};
export type IDeviceOpsProvider = InferProvider<typeof deviceOpsCapability>;
//# sourceMappingURL=device-ops.cap.d.ts.map