import * as DBus from "dbus-next";
import { LooselyTypedEmitter, EventListenerSignature } from "../utilts";
/***** Signals for org.bluez.Adapter1 *****/
interface OrgBluezAdapter1Events {
    PropertiesChanged: (iface: string, changedProperties: {
        [key: string]: any;
    }, invalidatedProperties: string[]) => void;
}
/***** Properties of org.bluez.Adapter1 *****/
export interface OrgBluezAdapter1Props {
    Address: string;
    AddressType: string;
    Name: string;
    Alias: string;
    Class: number;
    Powered: boolean;
    Discoverable: boolean;
    DiscoverableTimeout: number;
    Pairable: boolean;
    PairableTimeout: number;
    Discovering: boolean;
    UUIDs: Array<string>;
    Modalias: string;
}
/**
 * Service: org.bluez
 * ObjectPath: /org/bluez/hci0
 * Interface: org.bluez.Adapter1
 */
export declare class OrgBluezAdapter1<L extends EventListenerSignature<L> = Record<string, never>> extends LooselyTypedEmitter<OrgBluezAdapter1Events & L> {
    static readonly DbusInterfaceName = "org.bluez.Adapter1";
    dbusObject: DBus.ProxyObject;
    propertiesDBusInterface: DBus.ClientInterface;
    thisDBusInterface: DBus.ClientInterface;
    static Connect(bus: DBus.MessageBus, objectPath?: string, xml?: string): Promise<OrgBluezAdapter1>;
    constructor(dbusObject: DBus.ProxyObject);
    /***** Properties *****/
    getProperties(): Promise<Partial<OrgBluezAdapter1Props>>;
    getProperty<T extends keyof OrgBluezAdapter1Props>(name: T): Promise<OrgBluezAdapter1Props[T]>;
    setProperty<T extends keyof OrgBluezAdapter1Props>(name: T, value: OrgBluezAdapter1Props[T]): Promise<void>;
    Address(): Promise<string>;
    AddressType(): Promise<string>;
    Name(): Promise<string>;
    Alias(): Promise<string>;
    Alias(value: string): Promise<void>;
    Class(): Promise<number>;
    Powered(): Promise<boolean>;
    Powered(value: boolean): Promise<void>;
    Discoverable(): Promise<boolean>;
    Discoverable(value: boolean): Promise<void>;
    DiscoverableTimeout(): Promise<number>;
    DiscoverableTimeout(value: number): Promise<void>;
    Pairable(): Promise<boolean>;
    Pairable(value: boolean): Promise<void>;
    PairableTimeout(): Promise<number>;
    PairableTimeout(value: number): Promise<void>;
    Discovering(): Promise<boolean>;
    UUIDs(): Promise<Array<string>>;
    Modalias(): Promise<string>;
    /***** Methods *****/
    StartDiscovery(): Promise<void>;
    SetDiscoveryFilter(properties: {
        [key: string]: any;
    }): Promise<void>;
    StopDiscovery(): Promise<void>;
    RemoveDevice(device: DBus.ObjectPath): Promise<void>;
    GetDiscoveryFilters(): Promise<Array<string>>;
}
export {};
