import type { z } from 'zod';
import { AccessoriesStatusSchema } from '../capabilities/accessories.cap.js';
import { BatteryStatusSchema } from '../capabilities/battery.cap.js';
import { BrightnessStatusSchema } from '../capabilities/brightness.cap.js';
import { CameraCredentialsStatusSchema } from '../capabilities/camera-credentials.cap.js';
import { DeviceDiscoveryStatusSchema } from '../capabilities/device-discovery.cap.js';
import { deviceStatusCapability } from '../capabilities/device-status.cap.js';
import { DoorbellStatusSchema } from '../capabilities/doorbell.cap.js';
import { FeatureProbeStatusSchema } from '../capabilities/feature-probe.cap.js';
import { IntercomStatusSchema } from '../capabilities/intercom.cap.js';
import { MotionStatusSchema } from '../capabilities/motion.cap.js';
import { MotionTriggerStatusSchema } from '../capabilities/motion-trigger.cap.js';
import { NativeObjectDetectionStatusSchema } from '../capabilities/native-object-detection.cap.js';
import { OsdStatusSchema } from '../capabilities/osd.cap.js';
import { ptzCapability } from '../capabilities/ptz.cap.js';
import { PtzAutotrackStatusSchema } from '../capabilities/ptz-autotrack.cap.js';
import { SnapshotStatusSchema } from '../capabilities/snapshot.cap.js';
import { SwitchStatusSchema } from '../capabilities/switch.cap.js';
/**
 * Lookup from cap name (literal) → the TypeScript type of that
 * capability's `status.schema`. Populated at codegen time from every
 * `*.cap.ts` file that declares a `status` block.
 */
export type CapStatusTypeMap = {
    readonly 'accessories': z.infer<typeof AccessoriesStatusSchema>;
    readonly 'battery': z.infer<typeof BatteryStatusSchema>;
    readonly 'brightness': z.infer<typeof BrightnessStatusSchema>;
    readonly 'camera-credentials': z.infer<typeof CameraCredentialsStatusSchema>;
    readonly 'device-discovery': z.infer<typeof DeviceDiscoveryStatusSchema>;
    readonly 'device-status': z.infer<(typeof deviceStatusCapability)['status']['schema']>;
    readonly 'doorbell': z.infer<typeof DoorbellStatusSchema>;
    readonly 'feature-probe': z.infer<typeof FeatureProbeStatusSchema>;
    readonly 'intercom': z.infer<typeof IntercomStatusSchema>;
    readonly 'motion': z.infer<typeof MotionStatusSchema>;
    readonly 'motion-trigger': z.infer<typeof MotionTriggerStatusSchema>;
    readonly 'native-object-detection': z.infer<typeof NativeObjectDetectionStatusSchema>;
    readonly 'osd': z.infer<typeof OsdStatusSchema>;
    readonly 'ptz': z.infer<(typeof ptzCapability)['status']['schema']>;
    readonly 'ptz-autotrack': z.infer<typeof PtzAutotrackStatusSchema>;
    readonly 'snapshot': z.infer<typeof SnapshotStatusSchema>;
    readonly 'switch': z.infer<typeof SwitchStatusSchema>;
};
/** Union of every cap name that has a typed status block. */
export type CapNameWithStatus = keyof CapStatusTypeMap;
/**
 * Runtime list of cap names with status. Used by the settings
 * aggregator to enumerate caps whose `status` should be polled +
 * streamed via `subscribeDeviceStatusAggregate`.
 */
export declare const CAP_NAMES_WITH_STATUS: readonly ["accessories", "battery", "brightness", "camera-credentials", "device-discovery", "device-status", "doorbell", "feature-probe", "intercom", "motion", "motion-trigger", "native-object-detection", "osd", "ptz", "ptz-autotrack", "snapshot", "switch"];
//# sourceMappingURL=cap-status-types.d.ts.map