import { ActionExecutionResult, DeviceStatus, Mappings, PanasonicPTZActions, PanasonicPTZOptions, TSRTimelineContent, Timeline } from 'timeline-state-resolver-types';
import { Device } from '../../service/device';
import { PanasonicPtzState } from './state';
import { PanasonicPtzCommandWithContext } from './diff';
import { PanasonicPtzHttpInterface } from './connection';
export declare class PanasonicPtzDevice extends Device<PanasonicPTZOptions, PanasonicPtzState, PanasonicPtzCommandWithContext> {
    _device: PanasonicPtzHttpInterface | undefined;
    init(options: PanasonicPTZOptions): Promise<boolean>;
    terminate(): Promise<void>;
    convertTimelineStateToDeviceState(state: Timeline.TimelineState<TSRTimelineContent>, newMappings: Mappings): PanasonicPtzState;
    diffStates(oldState: PanasonicPtzState | undefined, newState: PanasonicPtzState): Array<PanasonicPtzCommandWithContext>;
    sendCommand(command: PanasonicPtzCommandWithContext): Promise<void>;
    get connected(): boolean;
    getStatus(): Omit<DeviceStatus, 'active'>;
    actions: {
        [id in PanasonicPTZActions]: (id: string, payload?: any) => Promise<ActionExecutionResult>;
    };
    private safelyExecuteActionCommand;
    private mapPanTiltSpeedToPanasonic;
    private mapZoomSpeedToPanasonic;
    private mapFocusSpeedToPanasonic;
    executeAction(actionId: PanasonicPTZActions, payload?: Record<string, any>): Promise<ActionExecutionResult>;
}
//# sourceMappingURL=index.d.ts.map