import { IDenonClient, Playing, RaceStatus } from "./denonClient.js";
import * as DenonProtocol from "./denonProtocol.js";
export declare class DenonClientHybrid implements IDenonClient {
    readonly controlMode = DenonProtocol.ControlMode.HYBRID;
    readonly serialNumber: string;
    private readonly clientAvrControl;
    private readonly clientHeosCli;
    constructor(serialNumber: string, host: string, connect_timeout: number, response_timeout: number, debugLogCallback?: (message: string, ...parameters: any[]) => void, powerUpdateCallback?: (power: boolean) => void, muteUpdateCallback?: (mute: boolean) => void, volumeUpdateCallback?: (volume: number) => void);
    isConnected(): boolean;
    getPower(): Promise<boolean>;
    setPower(power: boolean): Promise<boolean>;
    getPlaying(raceStatus: RaceStatus): Promise<Playing>;
    setPlaying(playing: Playing): Promise<Playing>;
    setPlayNext(): Promise<void>;
    setPlayPrevious(): Promise<void>;
    getMute(raceStatus?: RaceStatus): Promise<boolean>;
    setMute(mute: boolean): Promise<boolean>;
    getVolume(raceStatus?: RaceStatus): Promise<number>;
    setVolume(volume: number): Promise<number>;
    setVolumeUp(volumeIncrement: number): Promise<void>;
    setVolumeDown(volumeDecrement: number): Promise<void>;
}
