UNPKG

edacation

Version:

Library and CLI for interacting with Yosys and nextpnr.

419 lines (418 loc) 21.1 kB
import { z } from 'zod'; import type { ArrayElement } from '../util.js'; export declare const DEFAULT_TARGET: TargetConfiguration; export declare const DEFAULT_CONFIGURATION: ProjectConfiguration; declare const schemaValueList: z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; }, z.core.$strip>; declare const schemaValueListTarget: z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }, z.core.$strip>; declare const schemaWorker: z.ZodObject<{ inputFiles: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; }, z.core.$strip>>; outputFiles: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; }, z.core.$strip>>; }, z.core.$strip>; declare const schemaWorkerTarget: z.ZodObject<{ inputFiles: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }, z.core.$strip>>; outputFiles: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }, z.core.$strip>>; }, z.core.$strip>; declare const schemaYosysOptions: z.ZodObject<{ optimize: z.ZodOptional<z.ZodBoolean>; topLevelModule: z.ZodOptional<z.ZodString>; synthArguments: z.ZodOptional<z.ZodString>; }, z.core.$strip>; declare const schemaYosys: z.ZodObject<{ synthPrepareCommands: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; }, z.core.$strip>>; synthCommands: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; }, z.core.$strip>>; rtlCommands: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; }, z.core.$strip>>; options: z.ZodOptional<z.ZodObject<{ optimize: z.ZodOptional<z.ZodBoolean>; topLevelModule: z.ZodOptional<z.ZodString>; synthArguments: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; }, z.core.$strip>; declare const schemaYosysTarget: z.ZodObject<{ synthPrepareCommands: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }, z.core.$strip>>; synthCommands: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }, z.core.$strip>>; rtlCommands: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }, z.core.$strip>>; options: z.ZodOptional<z.ZodObject<{ optimize: z.ZodOptional<z.ZodBoolean>; topLevelModule: z.ZodOptional<z.ZodString>; synthArguments: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; }, z.core.$strip>; declare const schemaNextpnrOptions: z.ZodObject<{ placedSvg: z.ZodOptional<z.ZodBoolean>; routedSvg: z.ZodOptional<z.ZodBoolean>; routedJson: z.ZodOptional<z.ZodBoolean>; reportJson: z.ZodOptional<z.ZodBoolean>; pinConfigFile: z.ZodOptional<z.ZodString>; }, z.core.$strip>; declare const schemaNextpnr: z.ZodObject<{ arguments: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; }, z.core.$strip>>; options: z.ZodOptional<z.ZodObject<{ placedSvg: z.ZodOptional<z.ZodBoolean>; routedSvg: z.ZodOptional<z.ZodBoolean>; routedJson: z.ZodOptional<z.ZodBoolean>; reportJson: z.ZodOptional<z.ZodBoolean>; pinConfigFile: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; }, z.core.$strip>; declare const schemaNextpnrTarget: z.ZodObject<{ arguments: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }, z.core.$strip>>; options: z.ZodOptional<z.ZodObject<{ placedSvg: z.ZodOptional<z.ZodBoolean>; routedSvg: z.ZodOptional<z.ZodBoolean>; routedJson: z.ZodOptional<z.ZodBoolean>; reportJson: z.ZodOptional<z.ZodBoolean>; pinConfigFile: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; }, z.core.$strip>; declare const schemaFlasherOptions: z.ZodObject<{ board: z.ZodOptional<z.ZodString>; programToFlash: z.ZodOptional<z.ZodBoolean>; }, z.core.$strip>; declare const schemaFlasher: z.ZodObject<{ packerArguments: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; }, z.core.$strip>>; flasherArguments: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; }, z.core.$strip>>; options: z.ZodOptional<z.ZodObject<{ board: z.ZodOptional<z.ZodString>; programToFlash: z.ZodOptional<z.ZodBoolean>; }, z.core.$strip>>; }, z.core.$strip>; declare const schemaFlasherTarget: z.ZodObject<{ packerArguments: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }, z.core.$strip>>; flasherArguments: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }, z.core.$strip>>; options: z.ZodOptional<z.ZodObject<{ board: z.ZodOptional<z.ZodString>; programToFlash: z.ZodOptional<z.ZodBoolean>; }, z.core.$strip>>; }, z.core.$strip>; declare const schemaIVerilogOptions: z.ZodObject<{ testbenchFile: z.ZodOptional<z.ZodString>; }, z.core.$strip>; declare const schemaIVerilog: z.ZodObject<{ arguments: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; }, z.core.$strip>>; options: z.ZodOptional<z.ZodObject<{ testbenchFile: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; }, z.core.$strip>; declare const schemaIVerilogTarget: z.ZodObject<{ arguments: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }, z.core.$strip>>; options: z.ZodOptional<z.ZodObject<{ testbenchFile: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; }, z.core.$strip>; export declare const schemaProjectConfiguration: z.ZodObject<{ defaults: z.ZodOptional<z.ZodObject<{ yosys: z.ZodOptional<z.ZodObject<{ inputFiles: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; }, z.core.$strip>>; outputFiles: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; }, z.core.$strip>>; synthPrepareCommands: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; }, z.core.$strip>>; synthCommands: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; }, z.core.$strip>>; rtlCommands: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; }, z.core.$strip>>; options: z.ZodOptional<z.ZodObject<{ optimize: z.ZodOptional<z.ZodBoolean>; topLevelModule: z.ZodOptional<z.ZodString>; synthArguments: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; }, z.core.$strip>>; nextpnr: z.ZodOptional<z.ZodObject<{ inputFiles: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; }, z.core.$strip>>; outputFiles: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; }, z.core.$strip>>; arguments: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; }, z.core.$strip>>; options: z.ZodOptional<z.ZodObject<{ placedSvg: z.ZodOptional<z.ZodBoolean>; routedSvg: z.ZodOptional<z.ZodBoolean>; routedJson: z.ZodOptional<z.ZodBoolean>; reportJson: z.ZodOptional<z.ZodBoolean>; pinConfigFile: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; }, z.core.$strip>>; iverilog: z.ZodOptional<z.ZodObject<{ inputFiles: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; }, z.core.$strip>>; outputFiles: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; }, z.core.$strip>>; arguments: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; }, z.core.$strip>>; options: z.ZodOptional<z.ZodObject<{ testbenchFile: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; }, z.core.$strip>>; flasher: z.ZodOptional<z.ZodObject<{ inputFiles: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; }, z.core.$strip>>; outputFiles: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; }, z.core.$strip>>; packerArguments: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; }, z.core.$strip>>; flasherArguments: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; }, z.core.$strip>>; options: z.ZodOptional<z.ZodObject<{ board: z.ZodOptional<z.ZodString>; programToFlash: z.ZodOptional<z.ZodBoolean>; }, z.core.$strip>>; }, z.core.$strip>>; }, z.core.$strip>>; targets: z.ZodArray<z.ZodObject<{ id: z.ZodString; name: z.ZodString; vendor: z.ZodString; family: z.ZodString; device: z.ZodString; package: z.ZodString; directory: z.ZodOptional<z.ZodString>; yosys: z.ZodOptional<z.ZodObject<{ inputFiles: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }, z.core.$strip>>; outputFiles: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }, z.core.$strip>>; synthPrepareCommands: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }, z.core.$strip>>; synthCommands: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }, z.core.$strip>>; rtlCommands: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }, z.core.$strip>>; options: z.ZodOptional<z.ZodObject<{ optimize: z.ZodOptional<z.ZodBoolean>; topLevelModule: z.ZodOptional<z.ZodString>; synthArguments: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; }, z.core.$strip>>; nextpnr: z.ZodOptional<z.ZodObject<{ inputFiles: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }, z.core.$strip>>; outputFiles: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }, z.core.$strip>>; arguments: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }, z.core.$strip>>; options: z.ZodOptional<z.ZodObject<{ placedSvg: z.ZodOptional<z.ZodBoolean>; routedSvg: z.ZodOptional<z.ZodBoolean>; routedJson: z.ZodOptional<z.ZodBoolean>; reportJson: z.ZodOptional<z.ZodBoolean>; pinConfigFile: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; }, z.core.$strip>>; iverilog: z.ZodOptional<z.ZodObject<{ inputFiles: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }, z.core.$strip>>; outputFiles: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }, z.core.$strip>>; arguments: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }, z.core.$strip>>; options: z.ZodOptional<z.ZodObject<{ testbenchFile: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; }, z.core.$strip>>; flasher: z.ZodOptional<z.ZodObject<{ inputFiles: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }, z.core.$strip>>; outputFiles: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }, z.core.$strip>>; packerArguments: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }, z.core.$strip>>; flasherArguments: z.ZodOptional<z.ZodObject<{ useGenerated: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; values: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>; useDefault: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }, z.core.$strip>>; options: z.ZodOptional<z.ZodObject<{ board: z.ZodOptional<z.ZodString>; programToFlash: z.ZodOptional<z.ZodBoolean>; }, z.core.$strip>>; }, z.core.$strip>>; }, z.core.$strip>>; activeTargetId: z.ZodOptional<z.ZodString>; }, z.core.$strip>; export type ProjectConfiguration = z.infer<typeof schemaProjectConfiguration>; export type TargetDefaultsConfiguration = NonNullable<ProjectConfiguration['defaults']>; export type TargetConfiguration = ArrayElement<ProjectConfiguration['targets']>; export type ValueListConfiguration = z.infer<typeof schemaValueList>; export type ValueListConfigurationTarget = z.infer<typeof schemaValueListTarget>; export type WorkerId = 'yosys' | 'nextpnr' | 'iverilog' | 'flasher'; export type WorkerConfiguration = z.infer<typeof schemaWorker>; export type WorkerTargetConfiguration = z.infer<typeof schemaWorkerTarget>; export type YosysOptions = z.infer<typeof schemaYosysOptions>; export type YosysConfiguration = z.infer<typeof schemaYosys>; export type YosysTargetConfiguration = z.infer<typeof schemaYosysTarget>; export type NextpnrOptions = z.infer<typeof schemaNextpnrOptions>; export type NextpnrConfiguration = z.infer<typeof schemaNextpnr>; export type NextpnrTargetConfiguration = z.infer<typeof schemaNextpnrTarget>; export type IVerilogOptions = z.infer<typeof schemaIVerilogOptions>; export type IVerilogConfiguration = z.infer<typeof schemaIVerilog>; export type IVerilogTargetConfiguration = z.infer<typeof schemaIVerilogTarget>; export type FlasherOptions = z.infer<typeof schemaFlasherOptions>; export type FlasherConfiguration = z.infer<typeof schemaFlasher>; export type FlasherTargetConfiguration = z.infer<typeof schemaFlasherTarget>; export type TargetOptionTypes = { yosys: YosysOptions; nextpnr: NextpnrOptions; iverilog: IVerilogOptions; flasher: FlasherOptions; }; export interface GeneratedFile { name: string; content: Uint8Array; } export interface WorkerStep { id: string; tool: string; arguments: string[]; generatedInputFiles?: GeneratedFile[]; } export interface WorkerOptions<Step extends WorkerStep, Options> { inputFiles: string[]; outputFiles: string[]; target: TargetConfiguration; options: Options; steps: Step[]; } export {};