import { BaseComponent } from './base_component.js';
import { type IRelayComponent, type NamespaceNameAsString } from '../types.js';
import { type NodeAliases } from '../../../../types/aliases.js';
import { type ToObject } from '../../../../types/index.js';
export declare class RelayComponent extends BaseComponent implements IRelayComponent, ToObject<IRelayComponent> {
    readonly consensusNodeAliases: NodeAliases;
    /**
     * @param name - to distinguish components.
     * @param cluster - in which the component is deployed.
     * @param namespace - associated with the component.
     * @param consensusNodeAliases - list node aliases
     */
    constructor(name: string, cluster: string, namespace: NamespaceNameAsString, consensusNodeAliases?: NodeAliases);
    /** Handles creating instance of the class from plain object. */
    static fromObject(component: IRelayComponent): RelayComponent;
    validate(): void;
    toObject(): IRelayComponent;
}
