import { Memory } from '../Class/Unit/Memory';
import { Specs } from '../types';
import { Dict } from '../types/Dict';
import { GraphSpec } from '../types/GraphSpec';
import { $Component } from '../types/interface/async/$Component';
import { $Graph } from '../types/interface/async/$Graph';
import { IOElement } from './IOElement';
import { Component } from './component';
export declare function componentClassFromSpec<E extends IOElement = any, P = any, U extends $Component | $Graph = any>(spec: GraphSpec, specs: Specs, sub_component_map?: Dict<Component>, memory?: Partial<Memory>): typeof Component<E, P, U>;
