import type { ClientId, PacketId, TopicFilter } from "./deps.ts"; import type { ClientRegistrationResult, ClientSubscription, ExtPublishPacket, Handler, Persistence, ShareName } from "./persistence.ts"; import type { StorageProvider } from "./storage.ts"; export declare class MqttPersistence implements Persistence { private clientHandlerList; private trie; private packetIdCounters; private storage; private sharedGroupCounters; constructor(storage: StorageProvider); initialize(): Promise; registerClient(clientId: ClientId, clientDispatch: Handler): Promise; deregisterClient(clientId: ClientId): Promise; disconnectClient(clientId: ClientId): Promise; subscribe(clientId: ClientId, subscription: ClientSubscription): Promise; unsubscribe(clientId: ClientId, topicFilter: TopicFilter, shareName: ShareName): Promise; listSubscriptions(clientId: ClientId): AsyncIterableIterator; addPendingIncomingPacket(clientId: ClientId, packet: ExtPublishPacket): Promise; getPendingIncomingPacket(clientId: ClientId, packetId: PacketId): Promise; listPendingIncomingPackets(clientId: ClientId): AsyncIterableIterator; deletePendingIncomingPacket(clientId: ClientId, packetId: PacketId): Promise; addPendingOutgoingPacket(clientId: ClientId, packet: ExtPublishPacket): Promise; getPendingOutgoingPacket(clientId: ClientId, packetId: PacketId): Promise; updatePendingOutgoingPacket(clientId: ClientId, packetId: PacketId, dup: boolean): Promise; listPendingOutgoingPackets(clientId: ClientId): AsyncIterableIterator; deletePendingOutgoingPacket(clientId: ClientId, packetId: PacketId): Promise; addPendingAck(clientId: ClientId, packetId: PacketId): Promise; hasPendingAck(clientId: ClientId, packetId: PacketId): Promise; deletePendingAck(clientId: ClientId, packetId: PacketId): Promise; listPendingAcks(clientId: ClientId): AsyncIterableIterator; nextPacketId(clientId: ClientId): Promise; publish(publisherClientId: ClientId, packet: ExtPublishPacket): Promise; private dispatch; handleRetained(clientId: ClientId, subscriptions: ClientSubscription[]): Promise; } //# sourceMappingURL=basicPersistence.d.ts.map