import { type PageRepeat, type Repeat } from '@defra/forms-model'; import { type FormModel } from '~/src/server/plugins/engine/models/index.js'; import { QuestionPageController } from '~/src/server/plugins/engine/pageControllers/QuestionPageController.js'; import { type FormContext, type FormContextRequest, type FormPageViewModel, type FormPayload, type FormSubmissionState, type RepeatItemState, type RepeatListState, type RepeaterSummaryPageViewModel } from '~/src/server/plugins/engine/types.js'; import { FormAction, type FormRequest, type FormRequestPayload, type FormResponseToolkit } from '~/src/server/routes/types.js'; export declare class RepeatPageController extends QuestionPageController { pageDef: PageRepeat; listSummaryViewName: string; listDeleteViewName: string; repeat: Repeat; allowSaveAndExit: boolean; constructor(model: FormModel, pageDef: PageRepeat); get keys(): string[]; getFormParams(request?: FormContextRequest): import("~/src/server/plugins/engine/types.js").FormPayloadParams; getFormDataFromState(request: FormContextRequest | undefined, state: FormSubmissionState): { action?: FormAction; confirm?: true; crumb?: string; itemId?: string; }; getStateFromValidForm(request: FormContextRequest, state: FormSubmissionState, payload: FormPayload): { [x: string]: RepeatItemState[]; }; proceed(request: FormContextRequest, h: FormResponseToolkit): import("@hapi/hapi").ResponseObject; getItemFromList(list: RepeatListState, itemId?: string): RepeatItemState | undefined; getListFromState(state: FormSubmissionState): RepeatListState; makeGetRouteHandler(): (request: FormRequest, context: FormContext, h: FormResponseToolkit) => Promise; makeGetListSummaryRouteHandler(): (request: FormRequest, context: FormContext, h: FormResponseToolkit) => import("@hapi/hapi").ResponseObject; makePostListSummaryRouteHandler(): (request: FormRequestPayload, context: FormContext, h: FormResponseToolkit) => import("@hapi/hapi").ResponseObject; makeGetItemDeleteRouteHandler(): (request: FormRequest, context: FormContext, h: FormResponseToolkit) => import("@hapi/hapi").ResponseObject; makePostItemDeleteRouteHandler(): (request: FormRequestPayload, context: FormContext, h: FormResponseToolkit) => Promise; getViewModel(request: FormContextRequest, context: FormContext): FormPageViewModel; getListSummaryViewModel(request: FormContextRequest, context: FormContext, list: RepeatListState): RepeaterSummaryPageViewModel; getSummaryPath(request?: FormContextRequest): string; }