import { AgentStructure, OptionPropertyStructure, ProcessStructure, PropertyStructure, ResourceStructure, Scenario, TemporalPropertyStructure } from '@elaraai/core/structure'; import { FloatType, PrimitiveType, SetType } from '@elaraai/core/east'; import { ELARASchema } from '@elaraai/core/schema'; /** * A {@link OptionPluginDefinition} to configure the {@link OptionsPlugin}. * * @category Structure */ export declare type OptionPluginDefinition = { /** the name for the {@link OptionPlugin} */ 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 {@link Scenario} of interest */ 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 sensivitity */ 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 manual and sensitivity {@link OptionPropertyStructure} interaction. * * @param definition: the desired {@link OptionPluginDefinition}. * @return a {@link ELARASchema} containing a {@link OptionPluginDefinition} 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 Resource Schema containing some options. * import resource from "gen/resource.structure" * // import a Transaction Schema containing some options. * import transaction from "gen/transaction.structure" * // Create an `OptionsPlugin` for adjusting and comparing properties, and showing the resulting cash balance. * const options = OptionsPlugin({ * name: 'Parameters', * options: { * "Cost": resource.properties.cost, * "Price": resource.properties.price, * "Size": transaction.properties.size, * }, * output: cash.properties.balance, * manual: baseline, * sensitivity: baseline, * }) * ``` */ export declare function OptionsPlugin(config: OptionPluginDefinition): ELARASchema; //# sourceMappingURL=options.d.ts.map