import { z } from 'zod';
import { type InferProvider } from './capability-definition.js';
import { DeviceType } from '../device/device-type.js';
import type { AudioAnalysisSettings } from '../types/io.js';
/**
 * audio-analysis — device-scoped facade over the system `audio-analyzer`.
 *
 * Pairs with `audio-analyzer` (system, singleton) the way `camera-streams`
 * pairs with `stream-broker`: the system cap owns the compute path
 * (`processChunk`, engine lifecycle) while `audio-analysis` exposes the
 * per-device surface — settings resolution, device-settings contribution,
 * audio-level events — and is the binding row every camera sees in the
 * device-manager bindings UI.
 *
 * Registered as a wrapper with `defaultActive: true` by `addon-audio-analysis`
 * so every camera picks up audio analysis automatically; operators can
 * disable per-device via `device-manager.setWrapperActive` when they don't
 * want a given camera to be analysed (e.g. muted / motion-only cams).
 */
export declare const audioAnalysisCapability: {
    readonly name: "audio-analysis";
    readonly scope: "device";
    readonly mode: "singleton";
    readonly deviceTypes: readonly [DeviceType.Camera];
    readonly exposesDeviceSettings: true;
    readonly methods: {
        /**
         * Resolve per-device audio analysis settings (minConfidence,
         * allowedClasses) from the addon settings store for a given camera.
         * Orchestrator callers use this before handing chunks to
         * `audio-analyzer.processChunk`.
         */
        readonly resolveDeviceSettings: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            deviceId: z.ZodNumber;
        }, z.core.$strip>, z.ZodCustom<AudioAnalysisSettings | null, AudioAnalysisSettings | null>, import("./capability-definition.js").CapabilityMethodKind>;
    };
    readonly events: {
        readonly onAudioLevel: import("./capability-definition.js").CapabilityEventSchema<z.ZodObject<{
            deviceId: z.ZodNumber;
            rms: z.ZodNumber;
            dbfs: z.ZodNumber;
        }, z.core.$strip>>;
    };
};
export type IAudioAnalysisProvider = InferProvider<typeof audioAnalysisCapability>;
//# sourceMappingURL=audio-analysis.cap.d.ts.map