import { Logger, Service } from 'homebridge';
import NodePersist from 'node-persist';
import { ApplianceBase } from './appliance-generic.js';
export declare class ServiceNames {
    readonly appliance: ApplianceBase;
    readonly Service: typeof Service;
    readonly Characteristic: typeof import("homebridge").Characteristic;
    readonly log: Logger;
    persist: NodePersist.LocalStorage;
    customNames: Map<string, string>;
    busyPromise?: Promise<void>;
    constructor(appliance: ApplianceBase);
    addConfiguredName(service: Service, suffix: string, subtype?: string): void;
    makeServiceName(suffix: string, subtype?: string): string;
    validateServiceName(suffix: string, name: string): boolean;
    validateCharacters(regexp: RegExp, characters: (string | undefined)[], issue: string): string | undefined;
    withCustomNames(type: 'read-only' | 'read-write', operation: () => void): Promise<void>;
    loadCustomNames(): Promise<void>;
    saveCustomNames(): Promise<void>;
}
//# sourceMappingURL=service-name.d.ts.map