import { TypedNode } from '../_Base';
import { NodeContext } from '../../poly/NodeContext';
import { ContainerMap } from '../../containers/utils/ContainerMap';
export declare class TypedContainerController<NC extends NodeContext> {
    protected node: TypedNode<NC, any>;
    private _callbacks;
    private _callbacksTmp;
    protected _container: ContainerMap[NC];
    constructor(node: TypedNode<NC, any>);
    container(): ContainerMap[NC];
    private _createContainer;
    private _createContainerWithContent;
    firstNonBypassedNode(): TypedNode<NC, any>;
    containerUnlessBypassed(): ContainerMap[NC] | undefined;
    compute(): Promise<ContainerMap[NC]>;
    requestInputContainer(inputIndex: number): Promise<ContainerMap[NC] | null>;
    notifyRequesters(container?: ContainerMap[NC]): void;
}
export declare class BaseContainerController extends TypedContainerController<any> {
}
