import { BaseArticleEntity } from '../models/base-article.entity';
import { Repository } from 'typeorm';
import DataLoader from 'dataloader';
import { BaseCategoryEntity } from '../models/base-category.entity';
import { LRUCache } from 'lru-cache';
import { ArticleStage } from '../typings/article-stage.enum';
import { BaseArticleVersionEntity } from '../models/base-article-version.entity';
import { SignatureService } from '../services/signature.service';
export declare class ArticleDataLoader {
    private readonly articleRepo;
    private readonly articleVersionRepo;
    private readonly signatureService;
    constructor(articleRepo: Repository<BaseArticleEntity>, articleVersionRepo: Repository<BaseArticleVersionEntity>, signatureService: SignatureService);
    readonly stageCache: LRUCache<string, Promise<ArticleStage>, unknown>;
    readonly stageLoader: DataLoader<{
        id: string;
        version: number;
    }, ArticleStage, string>;
    readonly categoriesLoader: DataLoader<string, BaseCategoryEntity[], string>;
}
