import { AirGapOfflineProtocol, AirGapOnlineProtocol } from '../../../protocol/protocol'; import { Module } from '../../module'; interface AirGapSerializedBaseProtocol { type: T; identifier: string; } export interface AirGapSerializedOfflineProtocol extends AirGapSerializedBaseProtocol<'offline'> { } export interface AirGapSerializedOnlineProtocol extends AirGapSerializedBaseProtocol<'online'> { } export declare type AirGapSerializedAnyProtocol = AirGapSerializedOfflineProtocol | AirGapSerializedOnlineProtocol; export declare type ProtocolSerializerExtension<_T extends Module> = ProtocolSerializerModule; export interface ProtocolSerializerModule { serializeOfflineProtocol(protocol: AirGapOfflineProtocol): Promise; deserializeOfflineProtocol(serialized: AirGapSerializedOfflineProtocol): Promise; serializeOnlineProtocol(protocol: AirGapOnlineProtocol): Promise; deserializeOnlineProtocol(serialized: AirGapSerializedOnlineProtocol): Promise; } export {};