import { z } from 'zod';
import { type InferProvider } from './capability-definition.js';
import { DeviceType } from '../device/device-type.js';
declare const PtzPresetSchema: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodString;
}, z.core.$strip>;
declare const PtzPositionSchema: z.ZodObject<{
    pan: z.ZodNumber;
    tilt: z.ZodNumber;
    zoom: z.ZodNumber;
}, z.core.$strip>;
declare const PtzMoveCommandSchema: z.ZodObject<{
    pan: z.ZodOptional<z.ZodNumber>;
    tilt: z.ZodOptional<z.ZodNumber>;
    zoom: z.ZodOptional<z.ZodNumber>;
    speed: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
export declare const ptzCapability: {
    readonly name: "ptz";
    readonly scope: "device";
    readonly mode: "singleton";
    readonly deviceTypes: readonly [DeviceType.Camera];
    readonly methods: {
        readonly move: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            pan: z.ZodOptional<z.ZodNumber>;
            tilt: z.ZodOptional<z.ZodNumber>;
            zoom: z.ZodOptional<z.ZodNumber>;
            speed: z.ZodOptional<z.ZodNumber>;
            deviceId: z.ZodNumber;
        }, z.core.$strip>, z.ZodVoid, "mutation">;
        readonly continuousMove: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            pan: z.ZodOptional<z.ZodNumber>;
            tilt: z.ZodOptional<z.ZodNumber>;
            zoom: z.ZodOptional<z.ZodNumber>;
            speed: z.ZodOptional<z.ZodNumber>;
            deviceId: z.ZodNumber;
        }, z.core.$strip>, z.ZodVoid, "mutation">;
        readonly stop: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            deviceId: z.ZodNumber;
        }, z.core.$strip>, z.ZodVoid, "mutation">;
        readonly getPresets: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            deviceId: z.ZodNumber;
        }, z.core.$strip>, z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            name: z.ZodString;
        }, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
        readonly goToPreset: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            deviceId: z.ZodNumber;
            presetId: z.ZodString;
        }, z.core.$strip>, z.ZodVoid, "mutation">;
        readonly goHome: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            deviceId: z.ZodNumber;
        }, z.core.$strip>, z.ZodVoid, "mutation">;
        /**
         * Pull the current PTZ position. Redundant with the auto-injected
         * `getStatus` method (see `status` below); kept for callers that
         * haven't migrated. Will be folded into `getStatus` in a future
         * cleanup pass once all consumers use the typed status surface.
         */
        readonly getPosition: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
            deviceId: z.ZodNumber;
        }, z.core.$strip>, z.ZodObject<{
            pan: z.ZodNumber;
            tilt: z.ZodNumber;
            zoom: z.ZodNumber;
        }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
    };
    readonly status: {
        readonly schema: z.ZodObject<{
            pan: z.ZodNumber;
            tilt: z.ZodNumber;
            zoom: z.ZodNumber;
        }, z.core.$strip>;
        readonly kind: "command-driven";
    };
};
export type IPtzProvider = InferProvider<typeof ptzCapability>;
export { PtzPresetSchema, PtzPositionSchema, PtzMoveCommandSchema };
//# sourceMappingURL=ptz.cap.d.ts.map