import { CreateEventInput, Event, EventListArgs, UpdateEventInput } from './event.model';
import { EventService } from './event.service';
import { ImageDataloaderService } from "../../../image-api/src";
import { EventDataloaderService } from './event-dataloader.service';
export declare class EventResolver {
    private eventService;
    private eventDataloader;
    private imageDataloader;
    constructor(eventService: EventService, eventDataloader: EventDataloaderService, imageDataloader: ImageDataloaderService);
    events(filter: EventListArgs): Promise<{
        nodes: (import("@prisma/client/runtime/library").GetResult<{
            id: string;
            createdAt: Date;
            modifiedAt: Date;
            name: string;
            description: import(".prisma/client").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;
        };
    }>;
    event(id: string): Promise<import("@prisma/client/runtime/library").GetResult<{
        id: string;
        createdAt: Date;
        modifiedAt: Date;
        name: string;
        description: import(".prisma/client").Prisma.JsonValue[];
        status: import(".prisma/client").EventStatus;
        imageId: string;
        location: string;
        startsAt: Date;
        endsAt: Date;
        externalSourceName: string;
        externalSourceId: string;
    }, unknown> & {}>;
    createEvent(event: CreateEventInput): Promise<import("@prisma/client/runtime/library").GetResult<{
        id: string;
        createdAt: Date;
        modifiedAt: Date;
        name: string;
        description: import(".prisma/client").Prisma.JsonValue[];
        status: import(".prisma/client").EventStatus;
        imageId: string;
        location: string;
        startsAt: Date;
        endsAt: Date;
        externalSourceName: string;
        externalSourceId: string;
    }, unknown> & {}>;
    updateEvent(event: UpdateEventInput): Promise<import("@prisma/client/runtime/library").GetResult<{
        id: string;
        createdAt: Date;
        modifiedAt: Date;
        name: string;
        description: import(".prisma/client").Prisma.JsonValue[];
        status: import(".prisma/client").EventStatus;
        imageId: string;
        location: string;
        startsAt: Date;
        endsAt: Date;
        externalSourceName: string;
        externalSourceId: string;
    }, unknown> & {}>;
    deleteEvent(id: string): Promise<import("@prisma/client/runtime/library").GetResult<{
        id: string;
        createdAt: Date;
        modifiedAt: Date;
        name: string;
        description: import(".prisma/client").Prisma.JsonValue[];
        status: import(".prisma/client").EventStatus;
        imageId: string;
        location: string;
        startsAt: Date;
        endsAt: Date;
        externalSourceName: string;
        externalSourceId: string;
    }, unknown> & {}>;
    image(event: Event): Promise<import("@prisma/client/runtime/library").GetResult<{
        id: string;
        createdAt: Date;
        description: string;
        extension: string;
        fileSize: number;
        filename: string;
        format: string;
        license: string;
        link: string;
        mimeType: string;
        modifiedAt: Date;
        source: string;
        tags: string[];
        title: string;
        height: number;
        width: number;
    }, unknown> & {}>;
}
