import { type Request, type Server } from '@hapi/hapi'; import { FormModel } from '~/src/server/plugins/engine/models/index.js'; import { type PageController } from '~/src/server/plugins/engine/pageControllers/PageController.js'; import { type FormContext, type FormSubmissionError } from '~/src/server/plugins/engine/types.js'; import { FormStatus } from '~/src/server/routes/types.js'; import { type Services } from '~/src/server/types.js'; type JourneyState = FormStatus | 'preview'; export interface FormModelOptions { services?: Services; controllers?: Record; basePath?: string; ordnanceSurveyApiKey?: string; formId?: string; routePrefix?: string; isPreview?: boolean; } export interface FormContextOptions extends FormModelOptions { errors?: FormSubmissionError[]; } export declare function getFormModel(slug: string, state: JourneyState, options?: FormModelOptions): Promise; export declare function getFormContext({ server, yar }: Pick, slug: string, state?: JourneyState, options?: FormContextOptions): Promise; export declare function resolveFormModel(server: Server, slug: string, state: JourneyState, options?: FormModelOptions): Promise; export declare function getFirstJourneyPage(context?: Pick): import("~/src/server/plugins/engine/pageControllers/index.js").StartPageController | import("~/src/server/plugins/engine/pageControllers/index.js").QuestionPageController | import("~/src/server/plugins/engine/pageControllers/index.js").RepeatPageController | undefined; export {};