import { Prisma, PrismaClient } from '@prisma/client';
import { SortOrder } from "../../../../utils-api/src";
import { Context } from '../../context';
export type PollFilter = {
    openOnly: boolean;
};
export declare enum PollSort {
    CreatedAt = "CreatedAt",
    ModifiedAt = "ModifiedAt",
    OpensAt = "OpensAt"
}
export declare const createPollOrder: (field: PollSort, sortOrder: SortOrder) => Prisma.PollFindManyArgs['orderBy'];
export declare const createPollFilter: (filter?: Partial<PollFilter>) => Prisma.PollWhereInput;
export declare const getPolls: (filter: Partial<PollFilter>, sortedField: PollSort, order: SortOrder, cursorId: string | null, skip: number, take: number, authenticate: Context['authenticate'], poll: PrismaClient['poll']) => Promise<{
    nodes: ({
        answers: (import("@prisma/client/runtime/library").GetResult<{
            id: string;
            createdAt: Date;
            modifiedAt: Date;
            answer: string;
            pollId: string;
        }, unknown> & {})[];
    } & import("@prisma/client/runtime/library").GetResult<{
        id: string;
        createdAt: Date;
        modifiedAt: Date;
        opensAt: Date;
        closedAt: Date;
        question: string;
        infoText: Prisma.JsonValue;
    }, unknown> & {})[];
    totalCount: number;
    pageInfo: {
        hasPreviousPage: boolean;
        hasNextPage: boolean;
        startCursor: string;
        endCursor: string;
    };
}>;
