import { type IHealth, type IHealthComponent, HealthStatus } from "@twin.org/api-models"; import type { IHealthServiceConstructorOptions } from "./models/IHealthServiceConstructorOptions.js"; /** * The health service for the server. */ export declare class HealthService implements IHealthComponent { /** * Runtime name for the class. */ static readonly CLASS_NAME: string; /** * Create a new instance of HealthService. * @param options The constructor options. * @throws GeneralError if an exclude clone component is not a valid regular expression. */ constructor(options?: IHealthServiceConstructorOptions); /** * Returns the class name of the component. * @returns The class name of the component. */ className(): string; /** * The component needs to be started when the node is initialized. * @param nodeLoggingComponentType The node logging component type. * @returns A promise that resolves when the initial health check timers have been scheduled. */ start(nodeLoggingComponentType?: string): Promise; /** * The component needs to be stopped when the node is closed. * @param nodeLoggingComponentType The node logging component type. * @returns A promise that resolves when the health check timers have been cancelled. */ stop(nodeLoggingComponentType?: string): Promise; /** * Get the server health. * @returns The service health. */ healthStatus(): Promise<{ status: HealthStatus; components: IHealth[]; }>; }