import { Submission } from '@overture-stack/lyric-data-model/models';
import { BaseDependencies } from '../../config/config.js';
import { CommitSubmissionResult, type CreateSubmissionResult, type PaginationOptions, type SubmissionActionType, SubmissionSummaryResponse } from '../../utils/types.js';
declare const service: (dependencies: BaseDependencies) => {
    commitSubmission: (categoryId: number, submissionId: number, username: string) => Promise<CommitSubmissionResult>;
    deleteActiveSubmissionById: (submissionId: number, username: string) => Promise<Submission | undefined>;
    deleteActiveSubmissionEntity: (submissionId: number, username: string, filter: {
        actionType: SubmissionActionType;
        entityName: string;
        index: number | null;
    }) => Promise<Submission | undefined>;
    getSubmissionsByCategory: (categoryId: number, paginationOptions: PaginationOptions, filterOptions: {
        onlyActive: boolean;
        username?: string;
        organization?: string;
    }) => Promise<{
        result: SubmissionSummaryResponse[];
        metadata: {
            totalRecords: number;
            errorMessage?: string;
        };
    }>;
    getSubmissionById: (submissionId: number) => Promise<import("../../utils/types.js").SubmissionResponse | undefined>;
    getActiveSubmissionByOrganization: ({ categoryId, username, organization, }: {
        categoryId: number;
        username: string;
        organization: string;
    }) => Promise<SubmissionSummaryResponse | undefined>;
    getOrCreateActiveSubmission: (params: {
        username: string;
        categoryId: number;
        organization: string;
    }) => Promise<Submission>;
    submit: ({ records, entityName, categoryId, organization, username, }: {
        records: Record<string, unknown>[];
        entityName: string;
        categoryId: number;
        organization: string;
        username: string;
    }) => Promise<CreateSubmissionResult>;
};
export default service;
