import { z } from 'zod';
import { type InferProvider } from './capability-definition.js';
declare const MotionRegionSchema: z.ZodObject<{
    bbox: z.ZodObject<{
        x: z.ZodNumber;
        y: z.ZodNumber;
        w: z.ZodNumber;
        h: z.ZodNumber;
    }, z.core.$strip>;
    pixelCount: z.ZodNumber;
    intensity: z.ZodNumber;
}, z.core.$strip>;
declare const MotionAnalysisResultSchema: z.ZodObject<{
    detected: z.ZodBoolean;
    regionCount: z.ZodNumber;
    regions: z.ZodReadonly<z.ZodArray<z.ZodObject<{
        bbox: z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
            w: z.ZodNumber;
            h: z.ZodNumber;
        }, z.core.$strip>;
        pixelCount: z.ZodNumber;
        intensity: z.ZodNumber;
    }, z.core.$strip>>>;
    rawRegions: z.ZodReadonly<z.ZodArray<z.ZodObject<{
        bbox: z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
            w: z.ZodNumber;
            h: z.ZodNumber;
        }, z.core.$strip>;
        pixelCount: z.ZodNumber;
        intensity: z.ZodNumber;
    }, z.core.$strip>>>;
    frameWidth: z.ZodNumber;
    frameHeight: z.ZodNumber;
    analysisMs: z.ZodNumber;
}, z.core.$strip>;
export declare const motionDetectionCapability: {
    readonly name: "motion-detection";
    readonly scope: "device";
    readonly mode: "singleton";
    readonly exposesDeviceSettings: true;
    readonly methods: {
        readonly analyze: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            deviceId: z.ZodNumber;
            frame: z.ZodObject<{
                data: z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>;
                format: z.ZodEnum<{
                    jpeg: "jpeg";
                    rgb: "rgb";
                    bgr: "bgr";
                    yuv420: "yuv420";
                    gray: "gray";
                }>;
                width: z.ZodNumber;
                height: z.ZodNumber;
                timestamp: z.ZodNumber;
            }, z.core.$strip>;
        }, z.core.$strip>, z.ZodObject<{
            detected: z.ZodBoolean;
            regionCount: z.ZodNumber;
            regions: z.ZodReadonly<z.ZodArray<z.ZodObject<{
                bbox: z.ZodObject<{
                    x: z.ZodNumber;
                    y: z.ZodNumber;
                    w: z.ZodNumber;
                    h: z.ZodNumber;
                }, z.core.$strip>;
                pixelCount: z.ZodNumber;
                intensity: z.ZodNumber;
            }, z.core.$strip>>>;
            rawRegions: z.ZodReadonly<z.ZodArray<z.ZodObject<{
                bbox: z.ZodObject<{
                    x: z.ZodNumber;
                    y: z.ZodNumber;
                    w: z.ZodNumber;
                    h: z.ZodNumber;
                }, z.core.$strip>;
                pixelCount: z.ZodNumber;
                intensity: z.ZodNumber;
            }, z.core.$strip>>>;
            frameWidth: z.ZodNumber;
            frameHeight: z.ZodNumber;
            analysisMs: z.ZodNumber;
        }, z.core.$strip>, "mutation">;
        readonly removeCamera: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            deviceId: z.ZodNumber;
        }, z.core.$strip>, z.ZodVoid, "mutation">;
        readonly reset: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodVoid, "mutation">;
    };
    readonly events: {
        readonly onMotion: {
            readonly data: z.ZodObject<{
                deviceId: z.ZodNumber;
                detected: z.ZodBoolean;
                regionCount: z.ZodNumber;
            }, z.core.$strip>;
        };
    };
};
export type IMotionDetectionProvider = InferProvider<typeof motionDetectionCapability>;
export type MotionRegion = z.infer<typeof MotionRegionSchema>;
export type MotionAnalysisResult = z.infer<typeof MotionAnalysisResultSchema>;
export { MotionRegionSchema, MotionAnalysisResultSchema };
//# sourceMappingURL=motion-detection.cap.d.ts.map