import { AppObject, AppObjectRepo, AppObjectUC } from "@vived/core";
export interface HitResultDTO {
    success: boolean;
    description: string;
}
export interface ProgressResultDTO {
    progress: number;
    description: string;
}
export interface MultiHitResultDTO {
    hits: number;
    misses: number;
    unanswered: number;
    description: string;
}
export interface QualityResultDTO {
    stars: number;
    maxStars: number;
    description: string;
}
export interface ScoreResultDTO {
    score: number;
    maxScore: number;
    description: string;
}
export declare abstract class SubmitResultResultUC extends AppObjectUC {
    static readonly type = "SubmitResultResultUC";
    readonly requestType = "SUBMIT_RESULTS";
    abstract submitHitResult(data: HitResultDTO): void;
    abstract submitProgressResult(data: ProgressResultDTO): void;
    abstract submitMultiHitResult(data: MultiHitResultDTO): void;
    abstract submitQualityResult(data: QualityResultDTO): void;
    abstract submitScoreResult(data: ScoreResultDTO): void;
    static get: (appObjects: AppObjectRepo) => SubmitResultResultUC | undefined;
}
export declare function makeSubmitResultUC(appObject: AppObject): SubmitResultResultUC;
export declare function submitHitResult(data: HitResultDTO, appObjects: AppObjectRepo): void;
export declare function submitProgressResult(data: ProgressResultDTO, appObjects: AppObjectRepo): void;
export declare function submitQualityResult(data: QualityResultDTO, appObjects: AppObjectRepo): void;
export declare function submitScoreResult(data: ScoreResultDTO, appObjects: AppObjectRepo): void;
export declare function submitMultiHitResult(data: MultiHitResultDTO, appObjects: AppObjectRepo): void;
//# sourceMappingURL=SubmitResultResultUC.d.ts.map