import { BaseOptions } from "../../common/types.js"; import { Types } from "../../core/types/index.js"; import { MixedScheduleData } from "../make-connected.js"; import { AlgorithmParameters, AlgorithmWeightParameters } from "./algorithm-parameters.js"; import { Types as Types$1 } from "./index.js"; //#region src/RS/types/to.d.ts type ToInput = MixedScheduleData; type PartialScheduleOptions | Set> = { /** @description undefined means all included */includedEvents?: IDs; /** @description undefined means all included */ includedLocations?: IDs; omittedEventsHandling: 'ignore' | 'freeze'; }; interface ToOptions extends BaseOptions { /** * Includes some metadata about entities. Currently this only includes name but might be extended in the future. * This is useful when running the algorithm locally from its GUI. * @default false */ includeEntityMeta?: boolean; /** * If true, the output will include the full core data. This enables the resulting output file to be uploaded as a new schedule. * @default false */ appendCoreData?: boolean; /** * If true, the output will include current configuration of events and locked times as `output` entry. * @default false */ appendOutput?: boolean; /** * Allows to specify that only a subset of events and/or locations should be included in the schedule optimization, and how the omitted events should be handled. */ partialScheduleOptions?: PartialScheduleOptions | Set>; /** * The weight parameters to be used by the algorithm. One may also specify `false` for any of the parameters to disable the corresponding feature. */ algorithmWeightParameters?: AlgorithmWeightParameters; /** * The time multiplier to be used by the algorithm. A number twice as large implies that the algorithm will spend twice as much time optimizing the schedule. * @default 1 */ computeTimeMultiplier?: number; } interface ParsedToOptions extends Omit { partialScheduleOptions?: PartialScheduleOptions>; } declare const structure = "RS/algorithm-6.0.0"; type Structure = typeof structure; interface ToOutput { meta: { structure?: Structure; division: Pick; }; algorithmParameters: AlgorithmParameters; score?: [number, number, number, number]; input: Types$1.scheduleData; output?: Types$1.configuration[]; coreData?: Partial; } //#endregion export { ParsedToOptions, Structure, ToInput, ToOptions, ToOutput }; //# sourceMappingURL=to.d.ts.map