import { Prisma, PrismaClient } from '@prisma/client';
import { SortOrder } from "../../../../utils-api/src";
export declare const getEvent: (id: string, event: PrismaClient['event']) => Prisma.Prisma__EventClient<import("@prisma/client/runtime/library").GetResult<{
    id: string;
    createdAt: Date;
    modifiedAt: Date;
    name: string;
    description: Prisma.JsonValue[];
    status: import(".prisma/client").EventStatus;
    imageId: string;
    location: string;
    startsAt: Date;
    endsAt: Date;
    externalSourceName: string;
    externalSourceId: string;
}, unknown> & {}, null, import("@prisma/client/runtime/library").DefaultArgs>;
export type EventFilter = {
    upcomingOnly: boolean;
    from: Date;
    to: Date;
    tags: string[];
    name: string;
    location: string;
};
export declare enum EventSort {
    CreatedAt = "CreatedAt",
    ModifiedAt = "ModifiedAt",
    StartsAt = "StartsAt",
    EndsAt = "EndsAt"
}
export declare const createEventOrder: (field: EventSort, sortOrder: SortOrder) => Prisma.EventFindManyArgs['orderBy'];
export declare const createEventFilter: (filter?: Partial<EventFilter>) => Prisma.EventWhereInput;
export declare const getEvents: (filter: Partial<EventFilter>, sortedField: EventSort, order: SortOrder, cursorId: string | null, skip: number, take: number, event: PrismaClient['event']) => Promise<{
    nodes: (import("@prisma/client/runtime/library").GetResult<{
        id: string;
        createdAt: Date;
        modifiedAt: Date;
        name: string;
        description: Prisma.JsonValue[];
        status: import(".prisma/client").EventStatus;
        imageId: string;
        location: string;
        startsAt: Date;
        endsAt: Date;
        externalSourceName: string;
        externalSourceId: string;
    }, unknown> & {})[];
    totalCount: number;
    pageInfo: {
        hasPreviousPage: boolean;
        hasNextPage: boolean;
        startCursor: string;
        endCursor: string;
    };
}>;
export declare const getImportedEventsIds: (event: PrismaClient['event']) => Promise<string[]>;
