import { JISEventsModel } from "../../../schema-definitions/jis/models/JISEventsModel";
import { IJISEvent } from "../../../schema-definitions/jis/models/interfaces";
import { ILogger } from "@golemio/core/dist/helpers";
import { IDatabaseConnector } from "@golemio/core/dist/helpers/data-access/postgres/IDatabaseConnector";
import { AbstractValidatableRepository } from "@golemio/core/dist/helpers/data-access/postgres/repositories/AbstractValidatableRepository";
import { JSONSchemaValidator } from "@golemio/core/dist/shared/golemio-validator";
import { Transaction } from "@golemio/core/dist/shared/sequelize";
import { JISEventsRopidGTFSRoutesRepository } from "./JISEventsRopidGTFSRoutesRepository";
type RepositoryOptions = {
    transaction?: Transaction;
};
export declare class JISEventsRepository extends AbstractValidatableRepository {
    private logger;
    private eventsRopidGTFSRoutesRepository;
    validator: JSONSchemaValidator;
    schema: string;
    tableName: string;
    private sequelizeModel;
    private ropidGTFSRoutesRepository;
    constructor(connector: IDatabaseConnector, logger: ILogger, eventsRopidGTFSRoutesRepository: JISEventsRopidGTFSRoutesRepository);
    private static hooks;
    getCurrentIncidents(organizationNames: string[]): Promise<Array<JISEventsModel & {
        routes: Array<{
            route_id: string;
        }>;
    }>>;
    /**
     * Refresh all data from VYMI
     *
     * @param data The data to be upserted
     * @param options Options for the operation
     */
    upsertAll(data: IJISEvent[], options?: RepositoryOptions): Promise<JISEventsModel[]>;
    private getUpdateAttributes;
}
export {};
