import { CmsModel, CmsStorageEntry } from "@webiny/api-headless-cms/types";
import { Entity } from "@webiny/db-dynamodb/toolbox";
import { DataLoadersHandlerInterface, DataLoadersHandlerInterfaceClearAllParams } from "../../types";
interface DataLoaderParams {
    model: Pick<CmsModel, "tenant" | "locale" | "modelId">;
    ids: readonly string[];
}
interface DataLoadersHandlerParams {
    entity: Entity<any>;
}
export interface ClearAllParams {
    model: Pick<CmsModel, "tenant" | "locale" | "modelId">;
}
export declare class DataLoadersHandler implements DataLoadersHandlerInterface {
    private readonly entity;
    private readonly cache;
    constructor(params: DataLoadersHandlerParams);
    getAllEntryRevisions(params: DataLoaderParams): Promise<CmsStorageEntry[]>;
    getRevisionById(params: DataLoaderParams): Promise<CmsStorageEntry[]>;
    getPublishedRevisionByEntryId(params: DataLoaderParams): Promise<CmsStorageEntry[]>;
    getLatestRevisionByEntryId(params: DataLoaderParams): Promise<CmsStorageEntry[]>;
    /**
     * TODO @ts-refactor
     * Maybe pass on the generics to DataLoader definition?
     */
    private getLoader;
    private loadMany;
    clearAll(params?: DataLoadersHandlerInterfaceClearAllParams): void;
}
export {};
