import * as DBus from "dbus-next";
import { LooselyTypedEmitter, EventListenerSignature } from "../utilts";
/***** Signals for org.bluez.GattService1 *****/
interface OrgBluezGattService1Events {
    PropertiesChanged: (iface: string, changedProperties: {
        [key: string]: any;
    }, invalidatedProperties: string[]) => void;
}
/***** Properties of org.bluez.GattService1 *****/
export interface OrgBluezGattService1Props {
    UUID: string;
    Device: DBus.ObjectPath;
    Primary: boolean;
    Includes: Array<DBus.ObjectPath>;
}
/**
 * Service: org.bluez
 * ObjectPath: /org/bluez/hci0/dev_80_E1_26_08_94_85/-
 * Interface: org.bluez.GattService1
 */
export declare class OrgBluezGattService1<L extends EventListenerSignature<L> = {}> extends LooselyTypedEmitter<OrgBluezGattService1Events & L> {
    static readonly DbusInterfaceName = "org.bluez.GattService1";
    dbusObject: DBus.ProxyObject;
    propertiesDBusInterface: DBus.ClientInterface;
    thisDBusInterface: DBus.ClientInterface;
    static Connect(bus: DBus.MessageBus, objectPath: string, xml?: string): Promise<OrgBluezGattService1>;
    constructor(dbusObject: DBus.ProxyObject);
    /***** Properties *****/
    getProperties(): Promise<Partial<OrgBluezGattService1Props>>;
    getProperty<T extends keyof OrgBluezGattService1Props>(name: T): Promise<OrgBluezGattService1Props[T]>;
    setProperty<T extends keyof OrgBluezGattService1Props>(name: T, value: OrgBluezGattService1Props[T]): Promise<void>;
    UUID(): Promise<string>;
    Device(): Promise<DBus.ObjectPath>;
    Primary(): Promise<boolean>;
    Includes(): Promise<Array<DBus.ObjectPath>>;
}
export {};
