import { IPublicDepartureDto } from "../../interfaces/IPublicDepartureDto";
import { IRefreshPublicDepartureParams } from "../../workers/timetables/tasks/interfaces/IRefreshPublicDepartureParams";
import { ISimpleConfig } from "@golemio/core/dist/helpers/configuration/ISimpleConfig";
import { ILogger } from "@golemio/core/dist/helpers/logger";
import { IModel, PostgresModel } from "@golemio/core/dist/integration-engine/models";
import { Transaction } from "@golemio/core/dist/shared/sequelize";
import { SourceTableSuffixEnum } from "../../helpers/SourceTableSuffixEnum";
export declare class DeparturesRepository extends PostgresModel implements IModel {
    private config;
    private logger;
    constructor(config: ISimpleConfig, logger: ILogger);
    createAndPopulate: (sourceTableSuffix: SourceTableSuffixEnum) => Promise<void>;
    countDeparturesForPublicCache: (intervalParams: Required<IRefreshPublicDepartureParams>) => Promise<number>;
    getDepaturesForPublicCache: (page: number, pageSize: number, intervalParams: Required<IRefreshPublicDepartureParams>) => Promise<IPublicDepartureDto[]>;
    replaceByTmp: (transaction: Transaction) => Promise<void>;
    analyze: () => Promise<void>;
}
