import { Primitive } from '../../../../Primitive';
import { System } from '../../../../system';
import { Dict } from '../../../../types/Dict';
export interface I<T> {
    a: T;
    d: T;
}
export interface O<T> {
    a: T;
}
export default class Default<T> extends Primitive<I<T>, O<T>> {
    private _current;
    constructor(system: System);
    private _reset;
    onDataInputData(name: string, data: I<T>[keyof I<T>]): void;
    private _forward_if_ready;
    private _done;
    onDataInputDrop(name: string): void;
    onDataOutputDrop(name: string): void;
    onDataInputInvalid(name: string): void;
    snapshotSelf(): Dict<any>;
    restoreSelf(state: Dict<any>): void;
}
