import { ProxyObject } from "dbus-next";
import { Bluez } from "./bluez";
import { OrgBluezGattCharacteristic1 } from "./dbus/GattCharacteristic1";
import { OrgBluezGattDescriptor1Props } from "./dbus/GattDescriptor1";
import { GattDescriptor } from "./gattDescriptor";
export declare class GattCharacteristic extends OrgBluezGattCharacteristic1 {
    private bluez;
    constructor(dbusObject: ProxyObject, bluez: Bluez);
    /**
     * Find a Gatt Descriptor by UUID
     * @param uuid
     * @throws {DBusError} org.bluez.Error.DoesNotExist
     */
    getDescriptor(uuid: string): Promise<GattDescriptor>;
    /**
     * Returns a list of known Gatt descriptors of this characteristic
     * It returns key value pairs for each descriptor.
     * The key is the object path and the value is a snapshot of the properties of the descriptor.
     * To get the full descriptor interface use `Bluez.getDbusObjectInterface(GattDescriptor, key)`
     */
    listDescriptors(): Promise<{
        [key: string]: Partial<OrgBluezGattDescriptor1Props>;
    }>;
}
