import { Primitive } from '../../../../Primitive';
import { System } from '../../../../system';
import { Dict } from '../../../../types/Dict';
export interface I<T> {
    a: T;
}
export interface O<T> {
    a: T;
}
export default class Spark<T> extends Primitive<I<T>, O<T>> {
    private _ran;
    constructor(system: System);
    onDataInputDrop(name: string, data: any): void;
    onDataInputData(name: string, data: T): void;
    private _loop;
    snapshotSelf(): Dict<any>;
    restoreSelf(state: Dict<any>): void;
}
