import { type Stack } from '@contentstack/delivery-sdk'; import type { EntryEmbedable } from '@contentstack/utils'; /** * Common interface for Entry and Entries types that share these methods * Note: Entry uses string|number|string[] while Entries uses string|number|boolean * We use a flexible type that accepts both signatures */ interface EntryQueryMethods { addParams: (params: Record) => any; variants: (variants: string) => any; includeReference: (path: string) => any; } /** * Sets up live preview query if enabled and query params are present */ export declare function setupLivePreview(stack: Stack, livePreviewEnabled: boolean): void; /** * Applies variant handling to an entry query * Works with both Entry (single) and Entries (collection) types */ export declare function applyVariants(query: EntryQueryMethods, variantAlias?: { value: string; }): void; /** * Applies reference field paths to an entry query * Works with both Entry (single) and Entries (collection) types */ export declare function applyReferenceFields(query: EntryQueryMethods, referenceFieldPath?: string[]): void; /** * Processes entry data: converts JSON RTE, adds editable tags, and optionally replaces CSLP */ export declare function processEntryData(entry: T | null, options: { contentTypeUid: string; locale: string; jsonRtePath?: string[]; editableTags: boolean; shouldReplaceCslp: boolean; }): T | null; /** * Processes multiple entries: converts JSON RTE, adds editable tags, and optionally replaces CSLP */ export declare function processEntriesData(entries: T[], options: { contentTypeUid: string; locale: string; jsonRtePath?: string[]; editableTags: boolean; shouldReplaceCslp: boolean; }): T[]; /** * Sets up live preview refresh callback */ export declare function setupLivePreviewRefresh(livePreviewEnabled: boolean, refresh: () => Promise): void; /** * Determines if CSLP should be replaced based on editableTags and user preference */ export declare function shouldReplaceCslp(editableTags: boolean, replaceHtmlCslp?: boolean): boolean; export {};