/**
 * This file was automatically generated by json-schema-to-typescript.
 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
 * and run "yarn generate-schema-types" to regenerate this file.
 */
import { ActionExecutionResult } from "..";
export interface PanasonicPTZOptions {
    host: string;
    port: number;
    https?: boolean;
}
export interface MappingPanasonicPTZPresetMem {
    mappingType: MappingPanasonicPTZType.PresetMem;
}
export interface MappingPanasonicPTZPresetSpeed {
    mappingType: MappingPanasonicPTZType.PresetSpeed;
}
export interface MappingPanasonicPTZZoomSpeed {
    mappingType: MappingPanasonicPTZType.ZoomSpeed;
}
export interface MappingPanasonicPTZZoom {
    mappingType: MappingPanasonicPTZType.Zoom;
}
export declare enum MappingPanasonicPTZType {
    PresetMem = "presetMem",
    PresetSpeed = "presetSpeed",
    ZoomSpeed = "zoomSpeed",
    Zoom = "zoom"
}
export type SomeMappingPanasonicPTZ = MappingPanasonicPTZPresetMem | MappingPanasonicPTZPresetSpeed | MappingPanasonicPTZZoomSpeed | MappingPanasonicPTZZoom;
export declare enum PanasonicPTZActions {
    SetPanTiltSpeed = "setPanTiltSpeed",
    GetPanTiltPosition = "getPanTiltPosition",
    SetZoomSpeed = "setZoomSpeed",
    GetZoomPosition = "getZoomPosition",
    StorePreset = "storePreset",
    RecallPreset = "recallPreset",
    ResetPreset = "resetPreset",
    SetFocusSpeed = "setFocusSpeed",
    SetFocusMode = "setFocusMode",
    TriggerOnePushFocus = "triggerOnePushFocus",
    GetFocusPosition = "getFocusPosition",
    GetFocusMode = "getFocusMode"
}
export interface PanasonicPTZActionExecutionResults {
    setPanTiltSpeed: () => void;
    getPanTiltPosition: () => void;
    setZoomSpeed: () => void;
    getZoomPosition: () => void;
    storePreset: () => void;
    recallPreset: () => void;
    resetPreset: () => void;
    setFocusSpeed: () => void;
    setFocusMode: () => void;
    triggerOnePushFocus: () => void;
    getFocusPosition: () => void;
    getFocusMode: () => void;
}
export type PanasonicPTZActionExecutionPayload<A extends keyof PanasonicPTZActionExecutionResults> = Parameters<PanasonicPTZActionExecutionResults[A]>[0];
export type PanasonicPTZActionExecutionResult<A extends keyof PanasonicPTZActionExecutionResults> = ActionExecutionResult<ReturnType<PanasonicPTZActionExecutionResults[A]>>;
//# sourceMappingURL=panasonicPTZ.d.ts.map