import { EventStatus } from '@prisma/client';
import { Image } from "../../../image-api/src";
import { SortOrder } from "../../../utils-api/src";
import { Node } from 'slate';
export declare enum EventSort {
    CreatedAt = "CreatedAt",
    ModifiedAt = "ModifiedAt",
    StartsAt = "StartsAt",
    EndsAt = "EndsAt"
}
export declare class Event {
    id: string;
    createdAt: Date;
    modifiedAt: Date;
    startsAt: Date;
    endsAt?: Date;
    name: string;
    location?: string;
    description?: Node[];
    status: EventStatus;
    imageId?: string;
    image?: Image;
    externalSourceId?: string;
    externalSourceName?: string;
}
declare const PaginatedEvents_base: import("@nestjs/common").Type<import("../../../utils-api/src").PaginatedObjectType<Event>>;
export declare class PaginatedEvents extends PaginatedEvents_base {
}
export declare class EventFilter {
    upcomingOnly?: boolean;
    from?: Date;
    to?: Date;
    tags?: string[];
    name?: string;
    location?: string;
}
export declare class EventListArgs {
    filter?: EventFilter;
    sort?: EventSort;
    order?: SortOrder;
    take?: number;
    skip?: number;
    cursorId?: string;
}
declare const CreateEventInput_base: import("@nestjs/common").Type<Pick<Event, "name" | "description" | "startsAt" | "endsAt" | "imageId" | "location">>;
export declare class CreateEventInput extends CreateEventInput_base {
    tagIds?: string[];
}
declare const UpdateEventInput_base: import("@nestjs/common").Type<Partial<CreateEventInput>>;
export declare class UpdateEventInput extends UpdateEventInput_base {
    id: string;
}
export {};
