import * as DBus from "dbus-next";
import { LooselyTypedEmitter, EventListenerSignature } from "../utilts";
/***** Signals for org.bluez.MediaControl1 *****/
interface OrgBluezMediaControl1Events {
    PropertiesChanged: (iface: string, changedProperties: {
        [key: string]: any;
    }, invalidatedProperties: string[]) => void;
}
/***** Properties of org.bluez.MediaControl1 *****/
export interface OrgBluezMediaControl1Props {
    Connected: boolean;
    Player: DBus.ObjectPath;
}
/**
 * Service: org.bluez
 * ObjectPath: /org/bluez/hci0/dev_E8_D0_3C_47_B7_00
 * Interface: org.bluez.MediaControl1
 */
export declare class OrgBluezMediaControl1<L extends EventListenerSignature<L> = Record<string, never>> extends LooselyTypedEmitter<OrgBluezMediaControl1Events & L> {
    static readonly DbusInterfaceName = "org.bluez.MediaControl1";
    dbusObject: DBus.ProxyObject;
    propertiesDBusInterface: DBus.ClientInterface;
    thisDBusInterface: DBus.ClientInterface;
    static Connect(bus: DBus.MessageBus, objectPath?: string, xml?: string): Promise<OrgBluezMediaControl1>;
    constructor(dbusObject: DBus.ProxyObject);
    /***** Properties *****/
    getProperties(): Promise<Partial<OrgBluezMediaControl1Props>>;
    getProperty<T extends keyof OrgBluezMediaControl1Props>(name: T): Promise<OrgBluezMediaControl1Props[T]>;
    setProperty<T extends keyof OrgBluezMediaControl1Props>(name: T, value: OrgBluezMediaControl1Props[T]): Promise<void>;
    Connected(): Promise<boolean>;
    Player(): Promise<DBus.ObjectPath>;
    /***** Methods *****/
    Play(): Promise<void>;
    Pause(): Promise<void>;
    Stop(): Promise<void>;
    Next(): Promise<void>;
    Previous(): Promise<void>;
    VolumeUp(): Promise<void>;
    VolumeDown(): Promise<void>;
    FastForward(): Promise<void>;
    Rewind(): Promise<void>;
}
export {};
