import { Graph } from '../Class/Graph';
import { System } from '../system';
import { Classes, Specs } from '../types';
import { Dict } from '../types/Dict';
import { GraphBundle, GraphClass } from '../types/GraphClass';
import { GraphSpec } from '../types/GraphSpec';
import { GraphUnitSpec } from '../types/GraphUnitSpec';
export declare function fromSpec<I extends Dict<any> = any, O extends Dict<any> = any>(spec: GraphSpec, specs_: Specs, classes?: Classes, branch?: Dict<true>): GraphBundle<I, O>;
export declare function applyUnitDefaultIgnored(unitSpec: GraphUnitSpec, specs: Specs): void;
export declare function applyDefaultIgnored(spec: GraphSpec, specs: Specs): void;
export declare function classFromSpec<I, O>(spec: GraphSpec, specs: Specs, classes: Classes, branch?: Dict<true>): GraphClass<I, O>;
export declare function graphFromSpec<I, O>(system: System, spec: GraphSpec, specs: Specs, branch: Dict<true>, push: boolean): Graph<I, O>;
