import { RopidGtfsMetadataRepository } from "../../../RopidGtfsMetadataRepository";
import { RopidGtfsRepository } from "../../../data-access/RopidGtfsRepository";
import { StaticFileRedisRepository } from "../../../data-access/cache/StaticFileRedisRepository";
import { ILogger } from "@golemio/core/dist/helpers/logger/LoggerProvider";
import { RedisPubSubChannel } from "@golemio/core/dist/integration-engine/data-access/pubsub";
import { AbstractTask } from "@golemio/core/dist/integration-engine/workers";
import { RopidGtfsFactory } from "./helpers/RopidGtfsFactory";
import { IDatasetsInput } from "./interfaces/IDatasetsInput";
import { DatasetsInputSchema } from "./schema/DownloadDataInputSchema";
export declare class DownloadDatasetsTask extends AbstractTask<IDatasetsInput> {
    private readonly metadataRepository;
    private readonly staticFileRedisRepository;
    private readonly ropidGtfsRepository;
    private readonly ropidGtfsFactory;
    private readonly gtfsRedisChannel;
    private readonly logger;
    readonly queueName = "downloadDatasets";
    readonly queueTtl: number;
    readonly schema: typeof DatasetsInputSchema;
    constructor(metadataRepository: RopidGtfsMetadataRepository, staticFileRedisRepository: StaticFileRedisRepository, ropidGtfsRepository: RopidGtfsRepository, ropidGtfsFactory: RopidGtfsFactory, gtfsRedisChannel: RedisPubSubChannel, logger: ILogger);
    protected execute(data: IDatasetsInput): Promise<void>;
    /**
     * Helper method - download and persist dataset
     */
    private downloadAndPersistDatasetFiles;
}
