import { Logger } from 'homebridge';
import { LocalStorage } from 'node-persist';
import { HomeConnectAPI } from '../api.js';
import { HomeAppliance } from '../api-types.js';
import { ConfigPlugin } from '../config-types.js';
import { AuthorisationStatus } from '../api-ua-auth.js';
import { ServerIPC } from './server-ipc.js';
export interface ClientIDStatus {
    clientid: string;
    simulator: boolean;
    china: boolean;
    appliances?: HomeAppliance[];
    authorisation?: AuthorisationStatus;
}
export interface ClientIDAPI {
    api: HomeConnectAPI;
    status: ClientIDStatus;
}
export declare class ServerClientID {
    readonly log: Logger;
    readonly ipc: ServerIPC;
    readonly persist: LocalStorage;
    clients: Map<string, ClientIDAPI>;
    selected?: ClientIDAPI;
    constructor(log: Logger, ipc: ServerIPC, persist: LocalStorage);
    setClientID(config: ConfigPlugin): ClientIDStatus;
    retryAuthorisation(): ClientIDStatus;
    authorisationEvents(client: ClientIDAPI): Promise<void>;
    isClientValid(client: ClientIDAPI): Promise<boolean>;
}
//# sourceMappingURL=server-clientid.d.ts.map