import { BlockExplorer } from '../block-explorer/block-explorer'; import { BlockExplorerExtensions } from '../block-explorer/extensions/extensions'; import { ModuleExtensions } from '../module/extensions/extensions'; import { Module } from '../module/module'; import { ProtocolExtensions } from '../protocol/extensions/extensions'; import { _AnyProtocol } from '../protocol/protocol'; import { Override } from './meta/utility-types'; export declare type AirGapInterface = undefined, E1 extends ApplicableExtension = undefined, E2 extends ApplicableExtension = undefined, E3 extends ApplicableExtension = undefined, E4 extends ApplicableExtension = undefined, E5 extends ApplicableExtension = undefined, E6 extends ApplicableExtension = undefined, E7 extends ApplicableExtension = undefined, E8 extends ApplicableExtension = undefined, E9 extends ApplicableExtension = undefined> = _Interface; declare type _Interface = E extends [infer Head, ...infer Tail] ? Head extends undefined ? T : Head extends keyof AirGapExtensions ? _Interface[Head]>, [...Tail]> extends infer I ? I : never : never : never; export declare type ApplicableExtension = keyof AirGapExtensions | undefined; export declare type ApplicableBlockExplorerExtension = keyof BlockExplorerExtensions | undefined; export declare type ApplicableModuleExtension = keyof ModuleExtensions | undefined; export declare type ApplicableProtocolExtension = keyof ProtocolExtensions | undefined; declare type AirGapExtensions = T extends BlockExplorer ? BlockExplorerExtensions : T extends Module ? ModuleExtensions : T extends _AnyProtocol ? ProtocolExtensions : never; export {};