import { Resolvers } from '../mqtt.utilities'; import { PacketType } from '../mqtt.constants'; import { DefaultPacketReadResultMap, PacketReadResultMap } from '../packets/packet-reader'; import { DefaultPacketWriteOptions, PacketWriteOptionsMap, WriteData } from '../packets/packet-writer'; export declare type PacketFlowFunc = (success: (value: TResult) => void, error: (error: Error | string) => void) => PacketFlowCallbacks; export interface PacketFlowCallbacks { start(): WriteData | void | undefined | null; accept?(packet: TPacket): boolean | undefined; next?(last: TPacket): WriteData | void | undefined; } export interface PacketFlowData { resolvers: Resolvers; callbacks: PacketFlowCallbacks; finished: boolean; flowFunc: unknown; flowId: bigint | number; }