import { Functional } from '../../../../../Class/Functional';
import { Done } from '../../../../../Class/Functional/Done';
import { Fail } from '../../../../../Class/Functional/Fail';
import { System } from '../../../../../system';
import { GraphBundle } from '../../../../../types/GraphClass';
import { GraphPinSpec } from '../../../../../types/GraphPinSpec';
import { IO } from '../../../../../types/IO';
export interface I<T> {
    id: string;
    type: IO;
    graph: GraphBundle;
    pin: GraphPinSpec;
}
export interface O<T> {
    graph: GraphBundle;
}
export default class AddPin<T> extends Functional<I<T>, O<T>> {
    constructor(system: System);
    f({ id, type, pin, graph }: I<T>, done: Done<O<T>>, fail: Fail): void;
}
