import { z } from 'zod';
import { type InferProvider } from './capability-definition.js';
/**
 * network-quality — system-scoped singleton capability tracking RTT,
 * jitter, and observed/peak bandwidth per device + per client.
 *
 * Implementation lives in the server's `NetworkQualityService` (thin
 * wrapper over the shared `NetworkQualityTracker` from `@camstack/core`).
 * The provider is registered from `trpc.router.ts` against the existing
 * service instance — no addon owns this state.
 *
 * Phase E of the API consolidation: previously a hand-written core
 * router. Cap conversion lets the same codegen pipeline produce both
 * the tRPC router and the canonical UI hooks
 * (`useNetworkQualityGetDeviceStats`, …).
 */
declare const StreamNetworkStatsSchema: z.ZodObject<{
    nominalBitrateKbps: z.ZodNumber;
    observedBitrateKbps: z.ZodNumber;
    peakBitrateKbps: z.ZodNumber;
    packetLossPercent: z.ZodNumber;
    lastUpdated: z.ZodNumber;
}, z.core.$strip>;
declare const ClientNetworkStatsSchema: z.ZodObject<{
    rttMs: z.ZodNumber;
    jitterMs: z.ZodNumber;
    estimatedBandwidthKbps: z.ZodNumber;
    lastUpdated: z.ZodNumber;
}, z.core.$strip>;
declare const DeviceNetworkStatsSchema: z.ZodObject<{
    deviceId: z.ZodNumber;
    streams: z.ZodRecord<z.ZodString, z.ZodObject<{
        nominalBitrateKbps: z.ZodNumber;
        observedBitrateKbps: z.ZodNumber;
        peakBitrateKbps: z.ZodNumber;
        packetLossPercent: z.ZodNumber;
        lastUpdated: z.ZodNumber;
    }, z.core.$strip>>;
    client: z.ZodOptional<z.ZodObject<{
        rttMs: z.ZodNumber;
        jitterMs: z.ZodNumber;
        estimatedBandwidthKbps: z.ZodNumber;
        lastUpdated: z.ZodNumber;
    }, z.core.$strip>>;
}, z.core.$strip>;
export declare const networkQualityCapability: {
    readonly name: "network-quality";
    readonly scope: "system";
    readonly mode: "singleton";
    readonly methods: {
        readonly getDeviceStats: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            deviceId: z.ZodNumber;
        }, z.core.$strip>, z.ZodNullable<z.ZodObject<{
            deviceId: z.ZodNumber;
            streams: z.ZodRecord<z.ZodString, z.ZodObject<{
                nominalBitrateKbps: z.ZodNumber;
                observedBitrateKbps: z.ZodNumber;
                peakBitrateKbps: z.ZodNumber;
                packetLossPercent: z.ZodNumber;
                lastUpdated: z.ZodNumber;
            }, z.core.$strip>>;
            client: z.ZodOptional<z.ZodObject<{
                rttMs: z.ZodNumber;
                jitterMs: z.ZodNumber;
                estimatedBandwidthKbps: z.ZodNumber;
                lastUpdated: z.ZodNumber;
            }, z.core.$strip>>;
        }, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
        readonly getAllStats: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodReadonly<z.ZodArray<z.ZodObject<{
            deviceId: z.ZodNumber;
            streams: z.ZodRecord<z.ZodString, z.ZodObject<{
                nominalBitrateKbps: z.ZodNumber;
                observedBitrateKbps: z.ZodNumber;
                peakBitrateKbps: z.ZodNumber;
                packetLossPercent: z.ZodNumber;
                lastUpdated: z.ZodNumber;
            }, z.core.$strip>>;
            client: z.ZodOptional<z.ZodObject<{
                rttMs: z.ZodNumber;
                jitterMs: z.ZodNumber;
                estimatedBandwidthKbps: z.ZodNumber;
                lastUpdated: z.ZodNumber;
            }, z.core.$strip>>;
        }, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
        readonly reportClientStats: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            deviceId: z.ZodNumber;
            rttMs: z.ZodNumber;
            jitterMs: z.ZodNumber;
            estimatedBandwidthKbps: z.ZodNumber;
        }, z.core.$strip>, z.ZodVoid, "mutation">;
    };
};
export type INetworkQualityProvider = InferProvider<typeof networkQualityCapability>;
export { StreamNetworkStatsSchema, ClientNetworkStatsSchema, DeviceNetworkStatsSchema, };
//# sourceMappingURL=network-quality.cap.d.ts.map