import { createClient } from 'contentful'; import type { SpaceConfig } from '../config/types.js'; import { type CdaReferenceRecord } from './reference-record.js'; export type { CdaReferenceRecord } from './reference-record.js'; export interface CdaAssetRecord { id: string; fileName: string; title: string; description: string | null; contentType: string; url: string; width: number | null; height: number | null; size: number | null; updatedAt: string; } export interface CdaMediaRecord { id: string; name: string; assetId: string; updatedAt: string; } export interface CdaSyncPayload { assets: CdaAssetRecord[]; media: CdaMediaRecord[]; references: CdaReferenceRecord[]; } export interface FetchCdaIndexOptions { /** ISO-8601 timestamp; only entries/assets updated at or after this time are fetched. */ updatedSince?: string; /** Log fetch progress to stderr (`index sync --verbose` or `LOG_CMS_INDEX=1`). */ verbose?: boolean; } type LocalizedField = Record; /** * Reads a Contentful field that may be locale-keyed (`{ "en-US": value }`) or flat (default locale). * The Contentful JS SDK returns flat fields unless a locale filter is applied. */ export declare function pickLocalizedField(field: LocalizedField | T | undefined, locale: string): T | undefined; export declare function createCdaClient(space: SpaceConfig, accessToken: string, preview: boolean): ReturnType; /** * Paginates assets and catalog entries from the Preview or Delivery API. */ export declare function fetchCdaIndexPayload(space: SpaceConfig, accessToken: string, preview: boolean, options?: FetchCdaIndexOptions): Promise; //# sourceMappingURL=cda-sync.d.ts.map