///
import { AbstractService } from "./abstract.service";
import type { NAbstractService, IDiscoveryService, NDiscoveryService, ILifecycleService } from "../..";
export declare class DiscoveryService extends AbstractService implements IDiscoveryService {
protected readonly _lifecycleService: ILifecycleService;
protected readonly _SERVICE_NAME: string;
protected _serverTag: string | undefined;
private _seedDiscoveryService;
protected readonly _discoveryService: this;
protected readonly _loggerService: undefined;
constructor(_lifecycleService: ILifecycleService);
protected init(): Promise;
private get _absDiscoveryService();
get serverTag(): string;
reloadConfigurations(): Promise;
on(event: NDiscoveryService.Event, listener: NAbstractService.Listener): void;
destroy(): Promise;
get config(): NDiscoveryService.CoreConfig;
getOptional(name: NDiscoveryService.KeyBuilder, def: K): K;
getMandatory(name: string): T;
getString(name: NDiscoveryService.KeyBuilder, def: string): string;
getNumber(name: NDiscoveryService.KeyBuilder, def: number): number;
getBoolean(name: NDiscoveryService.KeyBuilder, def: boolean): boolean;
getArray(name: string, def: Array): Array;
getCertificateBuffer(path: NDiscoveryService.KeyBuilder): Promise;
getCertificateString(path: NDiscoveryService.KeyBuilder): Promise;
getSchemaMandatory(name: string): T;
getSchemaString(name: string, def: string): string;
getSchemaNumber(name: string, def: number): number;
getSchemaBoolean(name: string, def: boolean): boolean;
getSchemaArray(name: string, def: Array): Array;
getSchemaBuffer(path: string): Promise;
}