import { ImportEventArgs, EventFromSource, ImportedEventFilter, ImportedEventSort, ImportedEventsDocument, SingleEventFilter } from './events-import.model';
import { PrismaClient } from '@prisma/client';
import { SortOrder } from "../../../../utils-api/src";
export interface ImportedEventsResolverParams {
    filter: ImportedEventFilter;
    order: SortOrder;
    skip: number;
    take: number;
    sort: ImportedEventSort;
}
export interface ImportedEventResolverParams {
    id: string;
}
export interface ImportedEventParams {
    id: string;
}
export interface CreateEventParams {
    id: string;
}
export interface EventsProvider {
    name: string;
    importedEvents(): Promise<EventFromSource[]>;
    importedEvent({ id }: ImportedEventResolverParams): Promise<EventFromSource>;
    createEvent({ id }: CreateEventParams): Promise<string>;
}
export declare const EVENT_IMPORT_PROVIDER: unique symbol;
export declare class EventsImportService {
    private providers;
    private prisma;
    constructor(providers: EventsProvider[], prisma: PrismaClient);
    importedEvents({ filter, skip, take }: ImportedEventsResolverParams): Promise<ImportedEventsDocument>;
    importedEvent(filter: SingleEventFilter): Promise<EventFromSource>;
    createEventFromSource({ id, source }: ImportEventArgs): Promise<string>;
    importedEventsIds(): Promise<string[]>;
    getProviders(): Promise<string[]>;
}
