import { KeyStoreParams, KeyType } from '../../../../modules/key'; import { ILogger } from '../../../logger'; import { SubService } from '../../index'; import { SubscriptionCallback } from '../../../../types/quorum'; import { NatsClientType } from '../../../../types/nats'; import { ProviderClient, ProviderTransaction } from '../../../../types/provider'; declare class NatsSubService extends SubService { private subscriptions; constructor(eventClient: NatsClientType, storeClient: NatsClientType); init(namespace: string, appId: string, engineId: string, logger: ILogger): Promise; transact(): ProviderTransaction; mintKey(type: KeyType, params: KeyStoreParams): string; subscribe(keyType: KeyType.QUORUM, callback: SubscriptionCallback, appId: string, topic?: string): Promise; unsubscribe(keyType: KeyType.QUORUM, appId: string, engineId?: string): Promise; psubscribe(keyType: KeyType.QUORUM, callback: SubscriptionCallback, appId: string, topic?: string): Promise; punsubscribe(keyType: KeyType.QUORUM, appId: string, topic?: string): Promise; publish(keyType: KeyType.QUORUM, message: Record, appId: string, topic?: string): Promise; } export { NatsSubService };