import { Deferred, MqttConn, Timer } from "./deps.ts"; import type { AnyPacket, AuthenticationResult, ConnectPacket, ConnNext, PacketId, ProtocolLevel, PublishPacket, ReasonCode, ReturnCodes, Store, SubscribePacket, UnsubscribePacket } from "./deps.ts"; import { ConnectionState } from "./ConnectionState.ts"; import type { Client } from "./client.ts"; /** Possible results from authHandler */ export type AuthenticatedResult = { reasonCode: ReasonCode; reasonString?: string; authData?: Uint8Array; }; export declare class Context { #private; mqttConn?: MqttConn; protocolLevel: ProtocolLevel; pingTimer?: Timer; unresolvedConnect?: Deferred; unresolvedPublish: Map>; unresolvedSubscribe: Map>; unresolvedUnSubscribe: Map>; store: Store; constructor(store: Store, client: Client); get connectionState(): ConnectionState; set connectionState(state: ConnectionState); authHandler(_ctx: Context, authMethod: string, authData: Uint8Array): AuthenticatedResult | Promise; setPingTimer(interval: number): void; connect(packet: ConnectPacket): Promise; disconnect(): Promise; send(packet: AnyPacket): Promise; sendPing(): void; handleConnection(conn: ConnNext, connectPacket: ConnectPacket): Promise; close(): void; receivePublish(packet: PublishPacket): Promise; publish(packet: PublishPacket): Promise; subscribe(packet: SubscribePacket): Promise; unsubscribe(packet: UnsubscribePacket): Promise; receivePuback(id: PacketId): boolean; receivePubcomp(id: PacketId): boolean; receiveSuback(id: PacketId, returnCodes: ReturnCodes): boolean; receiveUnsuback(id: PacketId): boolean; } //# sourceMappingURL=context.d.ts.map