import { Repository } from 'typeorm';
import { ArticleBaseDto } from '../typings/article-base.dto';
import DataLoader from 'dataloader';
import { BaseArticleEntity } from '../models/base-article.entity';
import { BaseArticleVersionContentEntity } from '../models/base-article-version-content.entity';
import { BaseArticleVersionEntity } from '../models/base-article-version.entity';
import { ArticleStage } from '../typings/article-stage.enum';
import { SignatureService } from '../services/signature.service';
export declare class ArticleVersionDataLoader<A extends BaseArticleEntity = BaseArticleEntity, AV extends BaseArticleVersionEntity = BaseArticleVersionEntity, AVC extends BaseArticleVersionContentEntity = BaseArticleVersionContentEntity> {
    private readonly articleRepo;
    private readonly multipleLanguageMode;
    private readonly signatureService;
    constructor(articleRepo: Repository<BaseArticleEntity>, multipleLanguageMode: boolean, signatureService: SignatureService);
    readonly stageVersionsLoader: DataLoader<string, Record<ArticleStage, ArticleBaseDto<A, AV, AVC> | null>, string>;
    readonly versionsLoader: DataLoader<string, ArticleBaseDto<A, AV, AVC>[], string>;
}
