import type { EventEmitter } from 'node:events';
import type { HomebridgePluginUiMetadata } from '../../plugins/plugins.interfaces.js';
import { HttpService } from '@nestjs/axios';
import { ConfigService } from '../../../core/config/config.service.js';
import { Logger } from '../../../core/logger/logger.service.js';
import { PluginsService } from '../../plugins/plugins.service.js';
export declare class PluginsSettingsUiService {
    private readonly loggerService;
    private readonly pluginsService;
    private readonly configService;
    private readonly httpService;
    private pluginUiMetadataCache;
    private pluginUiLastVersionCache;
    constructor(loggerService: Logger, pluginsService: PluginsService, configService: ConfigService, httpService: HttpService);
    serveCustomUiAsset(reply: any, pluginName: string, assetPath: string, origin: string, version?: string): Promise<any>;
    getPluginUiMetadata(pluginName: string): Promise<HomebridgePluginUiMetadata>;
    serveAssetsFromDevServer(reply: any, pluginUi: HomebridgePluginUiMetadata, assetPath: string): Promise<void>;
    getIndexHtmlBody(pluginUi: HomebridgePluginUiMetadata): Promise<any>;
    buildIndexHtml(pluginUi: HomebridgePluginUiMetadata, origin: string): Promise<string>;
    startCustomUiHandler(pluginName: string, client: EventEmitter): Promise<void>;
}
