import { JISEventsRepository } from "../repositories/JISEventsRepository";
import { JISEventsRopidGTFSRoutesRepository } from "../repositories/JISEventsRopidGTFSRoutesRepository";
import { IJISEvent, IJISEventsRopidGTFSRoutes } from "../../../schema-definitions/jis/models/interfaces";
import { ILogger } from "@golemio/core/dist/helpers";
import { IDatabaseConnector } from "@golemio/core/dist/helpers/data-access/postgres/IDatabaseConnector";
export declare class JISEventsDataService {
    private eventsRepository;
    private eventsRopidGTFSRoutesRepository;
    private databaseConnector;
    private logger;
    constructor(eventsRepository: JISEventsRepository, eventsRopidGTFSRoutesRepository: JISEventsRopidGTFSRoutesRepository, databaseConnector: IDatabaseConnector, logger: ILogger);
    /**
     * Refresh all JIS event data by inserting or updating the given events and their ROPID-GTFS routes.
     * Existing records are preserved and only incoming events/routes are upserted.
     *
     * @param events               Array of JIS events to insert or update.
     * @param eventsRopidGTFSRoutes Array of corresponding ROPID-GTFS route records to insert or update.
     * @returns boolean true if any events were saved, false if no events were saved.
     */
    upsertAll(events: IJISEvent[], eventsRopidGTFSRoutes: IJISEventsRopidGTFSRoutes[]): Promise<boolean>;
}
