interface Field { name: string; fetch: () => Promise; } interface Step { name: string; run: (wizard: Wizard) => Promise; isCompleted?: boolean; docURL: string; } declare class Wizard { private fields; private steps; private fieldValues; constructor(); registerField(field: Field): void; registerStep(step: Step): void; fieldValue(field: Field): Promise; fieldValueList(list: Field[]): Promise; getUncompletedSteps(): Step[]; processSteps(): Promise; runSteps(): Promise; } export default Wizard; export { Field, Step };