///
import { ILogger } from '../logger';
import { Router } from '../router';
import { StoreService } from '../store';
import { StreamService } from '../stream';
import { SubService } from '../sub';
import { HotMeshConfig, HotMeshWorker } from '../../types/hotmesh';
import { ProviderClient, ProviderTransaction } from '../../types/provider';
import { RollCallMessage, SubscriptionCallback } from '../../types/quorum';
import { StreamData, StreamDataResponse } from '../../types/stream';
declare class WorkerService {
namespace: string;
appId: string;
guid: string;
topic: string;
config: HotMeshConfig;
callback: (streamData: StreamData) => Promise;
store: StoreService | null;
stream: StreamService | null;
subscribe: SubService | null;
router: Router | null;
logger: ILogger;
reporting: boolean;
inited: string;
rollCallInterval: NodeJS.Timeout;
retry: import('../../types/stream').RetryPolicy | undefined;
/**
* @private
*/
constructor();
/**
* @private
*/
static init(namespace: string, appId: string, guid: string, config: HotMeshConfig, logger: ILogger): Promise;
/**
* @private
*/
verifyWorkerFields(worker: HotMeshWorker): void;
/**
* @private
*/
initStoreChannel(service: WorkerService, store: ProviderClient): Promise;
/**
* @private
*/
initSubChannel(service: WorkerService, sub: ProviderClient, store: ProviderClient): Promise;
/**
* @private
*/
initStreamChannel(service: WorkerService, stream: ProviderClient, store: ProviderClient, securedWorker?: boolean): Promise;
/**
* @private
*/
initRouter(worker: HotMeshWorker, logger: ILogger): Promise>>;
/**
* @private
*/
subscriptionHandler(): SubscriptionCallback;
/**
* A quorum-wide command to broadcaset system details.
*
*/
doRollCall(message: RollCallMessage): Promise;
cancelRollCall(): void;
/**
* @private
*/
stop(): void;
/**
* @private
*/
sayPong(appId: string, guid: string, originator?: string, details?: boolean, signature?: boolean): Promise;
/**
* @private
*/
throttle(delayInMillis: number): Promise;
}
export { WorkerService };