import { BufferLike, Nullable } from '@mlytics/core-ts/core/type/basic'; import { Condition, SpecConstraintChannelHub } from '@mlytics/core-ts/core/util/future'; import { BasePool } from '../../../../core/model/base/pool'; interface SpecBroker { info: AbstractBrokerInfo; condition: Condition; messageHub: SpecConstraintChannelHub; commitMessage(data: BufferLike): Promise; } declare abstract class AbstractBrokerInfo { protected _peerID?: Nullable; protected _peerType: string; abstract get id(): Nullable; get peerID(): Nullable; set peerID(value: Nullable); get peerType(): string; set peerType(value: string); } declare class BrokerPool extends BasePool { available(brokerID: string): Promise; } export { SpecBroker, AbstractBrokerInfo, BrokerPool };