import { RocketRemoteKey } from './enums';
import PrefixLogger from './PrefixLogger';
import type LogLevelLogger from './LogLevelLogger';
import { NodePyATVRepeatState, NodePyATVShuffleState } from '@sebbo2002/node-pyatv';
declare class RocketRemote {
    private readonly mac;
    private readonly atvremotePath;
    private readonly airplayCredentials;
    private readonly companionCredentials;
    private readonly avadaKedavraSequence;
    private heartbeatInterval?;
    private lastCommandSend;
    private readonly log;
    private onCloseCallable?;
    private onHomeCallable?;
    private readonly process;
    private readonly stderrListener;
    private readonly stdoutListener;
    constructor(mac: string, atvremotePath: string, airplayCredentials: string, companionCredentials: string, logger: LogLevelLogger | PrefixLogger, avadaKedavraNumberOfApps: number);
    addOutputDevices(identifiers: string[], hideLog?: boolean): void;
    avadaKedavra(): void;
    channelDown(hideLog?: boolean): void;
    channelUp(hideLog?: boolean): void;
    down(hideLog?: boolean): void;
    home(hideLog?: boolean): void;
    homeHold(hideLog?: boolean): void;
    left(hideLog?: boolean): void;
    menu(hideLog?: boolean): void;
    next(hideLog?: boolean): void;
    onClose(f: () => Promise<void> | void): void;
    onHome(f: () => Promise<void> | void): void;
    openApp(id: string, hideLog?: boolean): void;
    pause(hideLog?: boolean): void;
    play(hideLog?: boolean): void;
    playPause(hideLog?: boolean): void;
    previous(hideLog?: boolean): void;
    removeOutputDevices(identifiers: string[], hideLog?: boolean): void;
    right(hideLog?: boolean): void;
    screensaver(hideLog?: boolean): void;
    select(hideLog?: boolean): void;
    sendCommand(cmd: RocketRemoteKey | string, hideLog?: boolean, dedicatedProcess?: boolean): void;
    setOutputDevices(identifiers: string[], hideLog?: boolean): void;
    setRepeat(state: NodePyATVRepeatState, hideLog?: boolean): void;
    setShuffle(state: NodePyATVShuffleState, hideLog?: boolean): void;
    setVolume(percentage: number, hideLog?: boolean): void;
    skipBackward(hideLog?: boolean): void;
    skipForward(hideLog?: boolean): void;
    stop(hideLog?: boolean): void;
    topMenu(hideLog?: boolean): void;
    turnOff(hideLog?: boolean): void;
    turnOn(hideLog?: boolean): void;
    up(hideLog?: boolean): void;
    volumeDown(hideLog?: boolean): void;
    volumeUp(hideLog?: boolean): void;
    private generateAvadaKedavraSequence;
    private initHeartbeat;
    private spawnATVRemote;
    private stderrLog;
    private stdoutLog;
}
export default RocketRemote;
//# sourceMappingURL=RocketRemote.d.ts.map