import * as DBus from "dbus-next";
import { LooselyTypedEmitter, EventListenerSignature } from "../utilts";
/***** Signals for org.bluez.LEAdvertisingManager1 *****/
interface OrgBluezLEAdvertisingManager1Events {
    PropertiesChanged: (iface: string, changedProperties: {
        [key: string]: any;
    }, invalidatedProperties: string[]) => void;
}
/***** Properties of org.bluez.LEAdvertisingManager1 *****/
export interface OrgBluezLEAdvertisingManager1Props {
    ActiveInstances: number;
    SupportedInstances: number;
    SupportedIncludes: Array<string>;
    SupportedSecondaryChannels: Array<string>;
}
/**
 * Service: org.bluez
 * ObjectPath: /org/bluez/hci0
 * Interface: org.bluez.LEAdvertisingManager1
 */
export declare class OrgBluezLEAdvertisingManager1<L extends EventListenerSignature<L> = Record<string, never>> extends LooselyTypedEmitter<OrgBluezLEAdvertisingManager1Events & L> {
    static readonly DbusInterfaceName = "org.bluez.LEAdvertisingManager1";
    dbusObject: DBus.ProxyObject;
    propertiesDBusInterface: DBus.ClientInterface;
    thisDBusInterface: DBus.ClientInterface;
    static Connect(bus: DBus.MessageBus, objectPath?: string, xml?: string): Promise<OrgBluezLEAdvertisingManager1>;
    constructor(dbusObject: DBus.ProxyObject);
    /***** Properties *****/
    getProperties(): Promise<Partial<OrgBluezLEAdvertisingManager1Props>>;
    getProperty<T extends keyof OrgBluezLEAdvertisingManager1Props>(name: T): Promise<OrgBluezLEAdvertisingManager1Props[T]>;
    setProperty<T extends keyof OrgBluezLEAdvertisingManager1Props>(name: T, value: OrgBluezLEAdvertisingManager1Props[T]): Promise<void>;
    ActiveInstances(): Promise<number>;
    SupportedInstances(): Promise<number>;
    SupportedIncludes(): Promise<Array<string>>;
    SupportedSecondaryChannels(): Promise<Array<string>>;
    /***** Methods *****/
    RegisterAdvertisement(advertisement: DBus.ObjectPath, options: {
        [key: string]: any;
    }): Promise<void>;
    UnregisterAdvertisement(service: DBus.ObjectPath): Promise<void>;
}
export {};
