import { FloatType } from '@elaraai/core/east'; import { ELARASchema } from '@elaraai/core/schema'; import { AgentStructure, ResourceStructure, ProcessStructure, PropertyStructure, OptionPropertyStructure, Scenario, TemporalPropertyStructure } from '@elaraai/core/structure'; /** * A {@link ScenarioPluginDefinition} to configure the {@link ScenarioPlugin}. * * @category Structure */ export declare type ScenarioPluginDefinition = { /** the name for the {@link ScenarioPlugin} */ name: string; /** the entity to create the plugin from */ entity: AgentStructure | ResourceStructure | ProcessStructure; /** The {@link OptionPropertyStructure}'s containing manual scenarios to compare */ values?: Record; /** The {@link OptionPropertyStructure}'s containing manual scenarios to compare */ options: Record>; /** The baseline {@link Scenario} of interest */ baseline_scenario: Scenario; /** The comparison {@link Scenario} of interest */ comparison_scenario: Scenario; /** the entity containing the temporal output */ output_entity?: AgentStructure | ResourceStructure; /** The output of interest {@link TemporalPropertyStructure} to inspect */ output?: TemporalPropertyStructure; /** Prepend the artefact names with this */ prepend?: string; /** The linear color range for displaying the change in alues */ linear_pallette?: [negative_color: string, zero_color: string, positive_color: string]; /** The ordinal color range for displaying the outputs */ ordinal_pallette?: string[]; }; /** * Create a {@link ELARASchema} to assist with value and option comparison between two scenarios. * * @param definition: the desired {@link ScenarioPluginDefinition}. * @return a {@link ELARASchema} containing a {@link ScenarioPluginDefinition} contents * * @category Structure * * @example * ```typescript * // Import a baseline Scenario Schema used in options * import baseline from '../../gen/baseline.scenario' * // import a `Resource` Schema containing `Property` of interest. * import cash from 'gen/cash.structure' * // import a the comparison scenario. * import optimized from '../../gen/optimized.scenario' * // import a the sales process. * import sales from '../../gen/sales.structure' * // Create an `ScenarioPlugin` for performing value and option comparison. * const options = ScenarioPlugin({ * name: "sales", * entity: sales, * scenario: baseline, * options: { * price: sales.properties.price, * }, * values: { * date: sales.date, * qty: sales.properties.qty, * cost: sales.properties.cost, * profit: sales.properties.profit, * }, * output_entity: cash, * output: cash.properties.balance, * }) * ``` */ export declare function ScenarioPlugin(config: ScenarioPluginDefinition): ELARASchema; //# sourceMappingURL=scenario.d.ts.map