import { $ } from '../../../../Class/$';
import { Functional } from '../../../../Class/Functional';
import { Done } from '../../../../Class/Functional/Done';
import { System } from '../../../../system';
import { J } from '../../../../types/interface/J';
import { U } from '../../../../types/interface/U';
export interface I<T> {
    unit: U & $;
}
export interface O<T> {
    obj: J;
}
export default class Scope<T> extends Functional<I<T>, O<T>> {
    constructor(system: System);
    f({ unit }: I<T>, done: Done<O<T>>): Promise<void>;
}
