import type { PixelManifestCollection, PixelManifestComponents, PixelManifestIsland } from './islands.js'; import { VERSION } from './version.js'; export { VERSION }; export type PixelFieldType = 'string' | 'richtext' | 'number' | 'boolean' | 'enum' | 'image-ref' | 'url' | 'date'; export type PixelImageFormat = 'jpeg' | 'webp' | 'avif'; export interface PixelImageAsset { width: number; height: number; size: number; format: string; url: string; } export interface PixelImageRef { id: string; caption?: string; date?: string; location?: [number, number]; createdAt: string; updatedAt: string; profile: string; assets: PixelImageAsset[]; preparing?: true; } export interface PixelImageProfileAssets { assets: PixelImageAsset[]; preparing?: true; } export interface PixelImageRecord { id: string; caption?: string; date?: string; location?: [number, number]; createdAt: string; updatedAt: string; assets?: PixelImageAsset[]; preparing?: true; profiles?: Record; } export declare const DEFAULT_IMAGE_PROFILE = "default"; export declare function resolveImage(record: PixelImageRecord, profile: string): PixelImageRef; export type PixelImageFit = 'contain' | 'cover'; export interface PixelImageProfileSize { width?: number; height?: number; } export interface PixelImageProfile { id: string; fit: PixelImageFit; sizes: PixelImageProfileSize[]; formats: PixelImageFormat[]; } export interface PixelImageSize { width: number; height: number; formats: PixelImageFormat[]; } export interface PixelArticleCategory { id: string; name: string; } export interface PixelFieldDef { id: string; page: string; label: string; type: PixelFieldType; comment?: string; group?: string; required?: boolean; enumOptions?: string[]; maxLength?: number; default?: string | number | boolean; } export declare function definePage(slug: string, label: string): void; export declare function defineImageSizes(sizes: PixelImageSize[]): void; export declare function defineArticleCategories(categories: PixelArticleCategory[]): void; export declare function defineField(def: PixelFieldDef): string; export declare function getDefault(id: string): string | number | boolean | undefined; export interface PixelManifestField { id: string; label: string; type: PixelFieldType; comment: string; group: string; required: boolean; enumOptions: string[]; maxLength: number; } export interface PixelManifestPage { slug: string; displayName: string; fields: PixelManifestField[]; } export interface PixelManifestArticles { categories: PixelArticleCategory[]; } export interface PixelIntegrationRoutes { revalidate?: string; preview?: string; previewStatus?: string; previewDisable?: string; } export declare const DEFAULT_PIXEL_INTEGRATION_ROUTES: Readonly<{ revalidate: "/.well-known/_pixel/content/revalidate"; preview: "/.well-known/_pixel/content/preview"; previewStatus: "/.well-known/_pixel/content/preview/status"; previewDisable: "/.well-known/_pixel/content/preview/disable"; }>; export interface PixelIntegration { version: '1'; capabilities: { draftModePreview: boolean; popupPreview: boolean; contentRevalidation: boolean; }; routes?: PixelIntegrationRoutes; } export interface PixelManifest { version: string; schemaKitVersion: string; imageSizes: PixelImageSize[]; pages: PixelManifestPage[]; articles?: PixelManifestArticles; integration?: PixelIntegration; components?: PixelManifestComponents; islands?: PixelManifestIsland[]; collections?: PixelManifestCollection[]; imageProfiles?: PixelImageProfile[]; } export declare function buildManifest(integration?: PixelIntegration): PixelManifest; export declare function isSafePixelRoute(route: string): boolean; export declare function normalizePixelIntegration(integration: PixelIntegration): PixelIntegration; export declare function defineSchema(manifest: PixelManifest): Readonly;