import { PrismaClient } from '@prisma/client';
import { Context } from '../../context';
import { ArticleFilter, ArticleSort, PublicArticle } from '../../db/article';
import { SortOrder } from "../../../../utils-api/src";
export declare const getPublishedArticles: (filter: Partial<ArticleFilter>, sortedField: ArticleSort, order: SortOrder, cursorId: string | null, skip: number, take: number, article: PrismaClient['article']) => Promise<{
    nodes: {
        id: string;
        createdAt: Date;
        modifiedAt: Date;
        tags: string[];
        title: string;
        slug: string;
        imageID: string;
        blocks: import(".prisma/client").Prisma.JsonValue;
        lead: string;
        revision: number;
        publishedAt: Date;
        updatedAt: Date;
        publishAt: Date;
        preTitle: string;
        seoTitle: string;
        canonicalUrl: string;
        breaking: boolean;
        hideAuthor: boolean;
        socialMediaTitle: string;
        socialMediaDescription: string;
        socialMediaImageID: string;
        properties: (import("@prisma/client/runtime/library").GetResult<{
            id: string;
            createdAt: Date;
            modifiedAt: Date;
            key: string;
            value: string;
            public: boolean;
            articleRevisionId: string;
            pageRevisionId: string;
            subscriptionId: string;
            userId: string;
        }, unknown> & {})[];
        authors: (import("@prisma/client/runtime/library").GetResult<{
            revisionId: string;
            authorId: string;
        }, unknown> & {})[];
        socialMediaAuthors: (import("@prisma/client/runtime/library").GetResult<{
            revisionId: string;
            authorId: string;
        }, unknown> & {})[];
        shared: boolean;
    }[];
    pageInfo: import("../../../../utils-api/src").PageInfo;
    totalCount: number;
}>;
export declare const getPublishedArticleByIdOrSlug: (id: string | null, slug: string | null, token: string | null, session: Context['session'], verifyJWT: Context['verifyJWT'], publicArticles: Context['loaders']['publicArticles'], articles: Context['loaders']['articles'], articleClient: PrismaClient['article']) => Promise<PublicArticle>;
