import { NodeType } from '@hestia-earth/schema';
export interface IOrchestratorModelConfig {
    key: string;
    model: string;
    value: string;
    runStrategy: 'always' | 'add_key_if_missing' | 'add_blank_node_if_missing';
    runArgs?: Record<string, any>;
    mergeStrategy: 'default' | 'append' | 'list' | 'node';
    mergeArgs?: Record<string, any>;
}
export interface IOrchestratorConfig {
    models: (IOrchestratorModelConfig | IOrchestratorModelConfig[])[];
}
export type allowedType = NodeType.Cycle | NodeType.Site | NodeType.ImpactAssessment;
export declare const allowedTypes: allowedType[];
/**
 * Load orchestrator configuration.
 *
 * @param nodeType NodeType associated with configuration.
 * @returns
 */
export declare const loadConfig: (nodeType: allowedType) => IOrchestratorConfig;
interface ICalculationConfigData {
    key: 'related' | 'nested';
    type: allowedType;
    stage: number;
}
export declare const loadRunConfig: (nodeType: allowedType, stage: number) => ICalculationConfigData[];
export declare const loadTriggerConfig: (nodeType: allowedType, stage: number) => ICalculationConfigData[];
export declare const getMaxStage: (nodeType: allowedType) => any;
export {};
