import { TypedSopNode } from './_Base';
import { CoreGroup } from '../../../core/geometry/Group';
import { SopOperationContainer } from '../../operations/container/sop';
import { BaseOperationContainer } from '../../operations/container/_Base';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { NodeContext } from '../../poly/NodeContext';
declare class OperationsComposerSopParamConfig extends NodeParamsConfig {
}
export interface OperationContainerInputConfig {
    operation_input_index: number;
    node_input_index: number;
}
export declare class OperationsComposerSopNode extends TypedSopNode<OperationsComposerSopParamConfig> {
    paramsConfig: OperationsComposerSopParamConfig;
    static type(): string;
    initializeNode(): void;
    private _outputOperationContainer;
    private _inputConfigsByOperationContainer;
    setOutputOperationContainer(operationContainer: SopOperationContainer): void;
    outputOperationContainer(): SopOperationContainer | undefined;
    addInputConfig(operation: SopOperationContainer, inputConfig: OperationContainerInputConfig): void;
    private _operationContainersRequiringResolve;
    addOperationContainerWithPathParamResolveRequired(operationContainer: BaseOperationContainer<NodeContext.SOP>): void;
    resolveOperationContainersPathParams(): void;
    cook(inputCoreGroups: CoreGroup[]): Promise<void>;
}
export {};
