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 { GraphSpecs } from '../types/GraphSpecs';
export declare function extractGraphSpecs(spec: GraphSpec, specs: Specs, graphs?: GraphSpecs, classes?: Classes): GraphSpecs;
export declare function fromSpec<I extends Dict<any> = any, O extends Dict<any> = any>(spec: GraphSpec, specs_: Specs, classes?: Classes, branch?: {
    [path: string]: true;
}): GraphBundle<I, O>;
export declare function applyDefaultIgnored(spec: GraphSpec, specs: Specs): void;
export declare function classFromSpec<I, O>(spec: GraphSpec, specs: Specs, classes: Classes, branch?: {
    [path: string]: true;
}): GraphClass<I, O>;
export declare function graphFromSpec<I, O>(system: System, spec: GraphSpec, specs: Specs, branch?: {
    [path: string]: true;
}): Graph<I, O>;
