/// <reference types="node" />
import * as DBus from "dbus-next";
import { LooselyTypedEmitter, EventListenerSignature } from "../utilts";
/***** Signals for org.bluez.GattDescriptor1 *****/
interface OrgBluezGattDescriptor1Events {
    PropertiesChanged: (iface: string, changedProperties: {
        [key: string]: any;
    }, invalidatedProperties: string[]) => void;
}
/***** Properties of org.bluez.GattDescriptor1 *****/
export interface OrgBluezGattDescriptor1Props {
    UUID: string;
    Characteristic: DBus.ObjectPath;
    Value: Buffer;
}
/**
 * Service: org.bluez
 * ObjectPath: /org/bluez/hci0/dev_80_E1_26_08_94_85/-/-/-
 * Interface: org.bluez.GattDescriptor1
 */
export declare class OrgBluezGattDescriptor1<L extends EventListenerSignature<L> = {}> extends LooselyTypedEmitter<OrgBluezGattDescriptor1Events & L> {
    static readonly DbusInterfaceName = "org.bluez.GattDescriptor1";
    dbusObject: DBus.ProxyObject;
    propertiesDBusInterface: DBus.ClientInterface;
    thisDBusInterface: DBus.ClientInterface;
    static Connect(bus: DBus.MessageBus, objectPath: string, xml?: string): Promise<OrgBluezGattDescriptor1>;
    constructor(dbusObject: DBus.ProxyObject);
    /***** Properties *****/
    getProperties(): Promise<Partial<OrgBluezGattDescriptor1Props>>;
    getProperty<T extends keyof OrgBluezGattDescriptor1Props>(name: T): Promise<OrgBluezGattDescriptor1Props[T]>;
    setProperty<T extends keyof OrgBluezGattDescriptor1Props>(name: T, value: OrgBluezGattDescriptor1Props[T]): Promise<void>;
    UUID(): Promise<string>;
    Characteristic(): Promise<DBus.ObjectPath>;
    Value(): Promise<Buffer>;
    /***** Methods *****/
    ReadValue(options: {
        [key: string]: any;
    }): Promise<Buffer>;
    WriteValue(value: Buffer, options: {
        [key: string]: any;
    }): Promise<void>;
}
export {};
