import { type PaymentState } from '../../../../server/plugins/engine/components/PaymentField.types.js';
import { type Field } from '../../../../server/plugins/engine/components/helpers/components.js';
import { type BackLink, type ComponentViewModel } from '../../../../server/plugins/engine/components/types.js';
import { type Detail, type DetailItemField } from '../../../../server/plugins/engine/models/types.js';
import { type PageControllerClass } from '../../../../server/plugins/engine/pageControllers/helpers/pages.js';
import { type CheckAnswers, type FormContext, type FormContextRequest, type FormState, type FormSubmissionError } from '../../../../server/plugins/engine/types.js';
export declare class SummaryViewModel {
    /**
     * Responsible for parsing state values to the govuk-frontend summary list template
     */
    page: PageControllerClass;
    pageTitle: string;
    declaration?: string;
    details: Detail[];
    checkAnswers: CheckAnswers[];
    context: FormContext;
    name: string | undefined;
    backLink?: BackLink;
    feedbackLink?: string;
    phaseTag?: string;
    errors?: FormSubmissionError[];
    serviceUrl: string;
    hasMissingNotificationEmail?: boolean;
    components?: ComponentViewModel[];
    allowSaveAndExit: boolean;
    paymentState?: PaymentState;
    paymentDetails?: CheckAnswers;
    paymentRequired?: boolean;
    paymentPreAuthorized?: boolean;
    constructor(request: FormContextRequest, page: PageControllerClass, context: FormContext);
    private summaryDetails;
}
/**
 * Creates a form field detail item
 * @see {@link DetailItemField}
 */
export declare function ItemField(page: PageControllerClass, state: FormState, field: Field, options: {
    path: string;
    errors?: FormSubmissionError[];
}): DetailItemField;
