import type { OtaExtraMetas } from "zigbee-herdsman/dist/controller/tstype";
import type { CustomClusters } from "zigbee-herdsman/dist/zspec/zcl/definition/tstype";
import * as zhc from "zigbee-herdsman-converters";
export default class Device {
    #private;
    zh: zh.Device;
    definition?: zhc.Definition;
    private _definitionModelID?;
    get ieeeAddr(): string;
    get ID(): string;
    get options(): DeviceOptionsWithId;
    get name(): string;
    get isSupported(): boolean;
    get customClusters(): CustomClusters;
    get otaExtraMetas(): OtaExtraMetas;
    get interviewed(): boolean;
    constructor(device: zh.Device);
    exposes(): zhc.Expose[];
    resolveDefinition(ignoreCache?: boolean): Promise<void>;
    reInterview(eventBus: EventBus): Promise<void>;
    ensureInSettings(): void;
    endpoint(key?: string | number): zh.Endpoint | undefined;
    endpointName(endpoint: zh.Endpoint): string | undefined;
    getEndpointNames(): string[];
    isDevice(): this is Device;
    isGroup(): this is Group;
}
//# sourceMappingURL=device.d.ts.map