import type { ZodType } from 'zod'; import type { CategoryDTO, FaqDTO, ListPostsParams, Paginated, PageDTO, PostDTO, PostSummaryDTO, SiteSettingsDTO, TagDTO } from './contracts/v1.js'; export type TenantScope = { slug: string; } | { domain: string; }; export type HeaderResolver = HeadersInit | (() => HeadersInit | Promise); export type UniCmsRequestMethod = 'DELETE' | 'GET' | 'PATCH' | 'POST' | 'PUT'; export type UniCmsQueryPrimitive = boolean | number | string | null | undefined; export type UniCmsQueryValue = ReadonlyArray | UniCmsQueryPrimitive; export type UniCmsQueryRecord = Record; export type ExternalUserRecord = Record; export interface ExternalUserLoginCredentials { password: string; tenant?: TenantScope; username: string; } export type ExternalUserLoginResult = { exp: number; token: string; user: TUser; } & Record; export interface UniCmsClientOptions { baseUrl: string; fetch?: typeof globalThis.fetch; headers?: HeaderResolver; requestInit?: Omit; tenant: TenantScope; timeoutMs?: number; } export interface UniCmsRequestOptions { body?: TBody; headers?: HeaderResolver; includeTenantScope?: boolean; method?: UniCmsRequestMethod; path: string; query?: UniCmsQueryRecord; requestInit?: Omit; schema: ZodType; timeoutMs?: number; } export interface UniCmsClient { externalUsersLogin(credentials: ExternalUserLoginCredentials, opts?: { userSchema?: ZodType; }): Promise>; getPageBySlug(slug: string, opts?: { includeRawContent?: boolean; }): Promise; getPostBySlug(slug: string, opts?: { includeRawContent?: boolean; }): Promise; getSiteSettings(): Promise; listCategories(): Promise; listFaqs(opts?: { includeRawContent?: boolean; }): Promise; listPosts(params?: ListPostsParams): Promise>; listTags(): Promise; request(options: UniCmsRequestOptions): Promise; } //# sourceMappingURL=types.d.ts.map