import { Primitive } from '../../../../Primitive';
import { System } from '../../../../system';
export interface I<T> {
    a: T;
}
export interface O<T> {
    '0': T;
    '1': T;
}
export default class Plan<T> extends Primitive<I<T>, O<T>> {
    private _current;
    private _looping;
    constructor(system: System);
    private _reset;
    onDataInputData(name: string, data: any): void;
    private _forward_if_ready;
    onDataInputDrop(name: string): void;
    onDataInputInvalid(name: string): void;
    onDataOutputDrop(name: string): void;
    private _backward_if_ready;
    snapshotSelf(): {
        _looping: boolean;
        _current: T;
    };
    restoreSelf(state: any): void;
}
