import { type SubmitResponsePayload } from '@defra/forms-model';
import { type checkFormStatus } from '~/src/server/plugins/engine/helpers.js';
import { type FormModel } from '~/src/server/plugins/engine/models/index.js';
import { type DetailItem } from '~/src/server/plugins/engine/models/types.js';
import { type FormContext, type RichFormValue } from '~/src/server/plugins/engine/types.js';
export declare function format(context: FormContext, items: DetailItem[], model: FormModel, _submitResponse: SubmitResponsePayload, _formStatus: ReturnType<typeof checkFormStatus>): string;
/**
 * Categories the form submission data into the "main" body and "repeaters".
 *
 * {
 *    main: {
 *       componentName: 'componentValue',
 *    },
 *    repeaters: {
 *      repeaterName: [
 *        {
 *          textComponentName: 'componentValue'
 *        },
 *        {
 *          richComponentName: { foo: 'bar', 'baz': true }
 *        }
 *      ]
 *    },
 *    files: {
 *      fileComponentName: [
 *        {
 *          fileId: '123-456-789',
 *          fileName: 'example.pdf',
 *          userDownloadLink: 'https://forms-designer/file-download/123-456-789'
 *        }
 *      ]
 *    }
 * }
 */
export declare function categoriseData(items: DetailItem[]): {
    main: Record<string, RichFormValue>;
    repeaters: Record<string, Record<string, RichFormValue>[]>;
    files: Record<string, {
        fileId: string;
        fileName: string;
        userDownloadLink: string;
    }[]>;
};
