@prezly/theme-kit-nextjs
Version:
Data layer and utility library for developing Prezly themes with NextJS
49 lines (48 loc) • 4.07 kB
TypeScript
import type { Newsroom, NewsroomTheme, Story } from '@prezly/sdk';
import { ContentDelivery, Resolvable } from '@prezly/theme-kit-core';
import { type Configuration as CacheConfig } from './cache';
export declare namespace PrezlyAdapter {
interface Configuration {
accessToken: string;
newsroom: Newsroom['uuid'];
theme?: NewsroomTheme['id'];
baseUrl?: string;
headers?: Record<string, string>;
pinning?: boolean;
formats?: Story.FormatVersion[];
}
interface Options {
cache?: CacheConfiguration;
fetch?: typeof fetch;
}
type CacheConfiguration = CacheConfig;
function connect(config: Resolvable<Configuration>, { cache: cacheConfig, fetch }?: Options): {
usePrezlyClient: () => {
client: import("@prezly/sdk").PrezlyClient;
contentDelivery: {
newsroom(): Promise<Newsroom>;
theme(): Promise<import("@prezly/sdk").NewsroomThemePreset> | undefined;
themeSettings(): Promise<Record<string, any> | undefined>;
languages(): Promise<import("@prezly/sdk").NewsroomLanguageSettings[]>;
usedLanguages(): Promise<import("@prezly/sdk").NewsroomLanguageSettings[]>;
locales(): Promise<import("@prezly/sdk").Culture.Code[]>;
defaultLanguage(): Promise<import("@prezly/sdk").NewsroomLanguageSettings>;
companyInformation(code?: import("@prezly/sdk").Culture["code"]): Promise<import("@prezly/sdk").NewsroomCompanyInformation>;
notifications(locale: import("@prezly/sdk").Culture["code"]): Promise<import("@prezly/sdk").Notification<string>[]>;
defaultLocale(): Promise<import("@prezly/sdk").Culture.Code>;
language(code: import("@prezly/sdk").Culture["code"]): Promise<import("@prezly/sdk").NewsroomLanguageSettings | undefined>;
languageOrDefault(code: import("@prezly/sdk").Culture["code"]): Promise<import("@prezly/sdk").NewsroomLanguageSettings>;
categories(): Promise<import("@prezly/sdk").Category[]>;
category(arg: import("@prezly/sdk").Category["id"] | import("@prezly/sdk").Category.Translation["slug"]): Promise<import("@prezly/sdk").Category | undefined>;
translatedCategories(locale: import("@prezly/sdk").Culture["code"], categories?: import("@prezly/sdk").Category[]): Promise<import("@prezly/sdk").TranslatedCategory[]>;
translatedCategory(locale: import("@prezly/sdk").Culture["code"], slug: import("@prezly/sdk").Category.Translation["slug"]): Promise<import("@prezly/sdk").TranslatedCategory | undefined>;
featuredContacts(): Promise<import("@prezly/sdk").NewsroomContact[]>;
galleries(params?: ContentDelivery.galleries.SearchParams): Promise<import("@prezly/sdk/dist/endpoints/NewsroomGalleries").ListResponse>;
gallery(uuid: import("@prezly/sdk").NewsroomGallery["uuid"]): Promise<import("@prezly/sdk").NewsroomGallery | null>;
stories<Include extends keyof Story.ExtraFields = never>(params: ContentDelivery.stories.SearchParams, options?: ContentDelivery.stories.IncludeOptions<Include>): Promise<import("@prezly/sdk/dist/endpoints/Stories").ListResponse<Story & Pick<Story.ExtraFields, Include>>>;
allStories<Include extends keyof Story.ExtraFields = never>(params?: ContentDelivery.allStories.SearchParams, options?: ContentDelivery.allStories.IncludeOptions<Include>): Promise<(Story & Pick<Story.ExtraFields, Include>)[]>;
story<Include extends keyof Story.ExtraFields = never>(params: ContentDelivery.story.SearchParams, options?: ContentDelivery.story.IncludeOptions<Include>): Promise<(import("@prezly/sdk").ExtendedStory & Pick<Story.ExtraFields, "thumbnail_image" | "content" | "header_image" | "preview_image" | "social_image" | "social_text" | "tag_names" | "attached_gallery_content" | "referenced_entities" | Include>) | null>;
};
};
};
}