import type { DataRecord } from '@overture-stack/lectern-client';
import type { SubmissionData, SubmissionDeleteData, SubmissionErrors, SubmissionInsertData, SubmissionRecordErrorDetails, SubmissionUpdateData } from '@overture-stack/lyric-data-model/models';
import { type PaginationOptions, type SubmissionActionType } from './types.js';
export declare const createBatchResponse: (schemaName: string, records: DataRecord[]) => SubmissionInsertData;
export type FlattenedSubmissionData = {
    type: 'INSERTS';
    entity: string;
    value: DataRecord;
    index: number;
} | {
    type: 'UPDATES';
    entity: string;
    value: SubmissionUpdateData;
    index: number;
} | {
    type: 'DELETES';
    entity: string;
    value: SubmissionDeleteData;
    index: number;
};
/**
 * Filters and paginates submission `data` and `errors` based on specified action types and entity names.
 * Returns the paginated data along with the corresponding filtered errors.
 */
export declare const filterAndPaginateSubmissionData: ({ data, errors, filterOptions, paginationOptions, }: {
    data: SubmissionData;
    errors: SubmissionErrors;
    filterOptions: {
        actionTypes: SubmissionActionType[];
        entityNames: string[];
    };
    paginationOptions: PaginationOptions;
}) => {
    data: FlattenedSubmissionData[];
    errors: SubmissionRecordErrorDetails[];
};
/**
 * Retrieves the set of submission data corresponding to a specific action type.
 */
export declare const getActionData: (data: SubmissionData, actionType: SubmissionActionType) => Record<string, SubmissionUpdateData[]> | Record<string, SubmissionDeleteData[]> | Record<string, SubmissionInsertData>;
/**
 * Retrieves the set of submission errors corresponding to a specific action type.
 */
export declare const getActionErrors: (errors: SubmissionErrors, actionType: SubmissionActionType) => Record<string, SubmissionRecordErrorDetails[]>;
/**
 * Filters submission errors based on specified action types, entity names, and record indices.
 */
export declare const getFilteredErrors: ({ errors, actionTypes, entityNames, indices, }: {
    errors: SubmissionErrors;
    actionTypes: SubmissionActionType[];
    entityNames: string[];
    indices: number[];
}) => SubmissionRecordErrorDetails[];
