/******************************************************************************** * Cache Key Prefixes * * All cache key prefix constants used across the system. * * @module core/cache/keys/prefixes ********************************************************************************/ export declare const CacheKeyPrefix: { readonly SSR_MODULE: "veryfront:ssr-module:"; readonly FILE_CACHE: "veryfront:file-cache:"; readonly TRANSFORM: "veryfront:transform:"; readonly CONFIG: "config"; readonly CONFIG_VIRTUAL: "vf"; readonly FILE: "file"; readonly STAT: "stat"; readonly DIR: "dir"; readonly FILES: "files"; readonly GITHUB_CONTENT: "github:content"; readonly GITHUB_BYTES: "github:bytes"; readonly GITHUB_DIR: "github:dir"; readonly GITHUB_STAT: "github:stat"; readonly GITHUB_TREE: "github:tree"; readonly GITHUB_RESOLVE: "github:resolve"; readonly MODULE_RESOLVE: "resolve"; readonly MODULE_PATH: "veryfront"; readonly SSR_VERSION: "v"; readonly COMPONENT: "component"; readonly LAYOUT: "layout"; readonly ERROR_PAGE: "error"; readonly PROXY: "proxy"; readonly PROJECT: "project"; readonly GLOBALS_CSS: "globals"; }; export type FileSourceType = "branch" | "release" | "environment"; /** * Query parameter handling policy for cache keys. * * - "ignore-all": Ignore all query params (best for marketing UTM params) * - "include-all": Include all query params in cache key * - "include-list": Only include specified params * - "exclude-list": Include all except specified params (default behavior) */ export type QueryParamPolicy = "ignore-all" | "include-all" | "include-list" | "exclude-list"; export interface QueryParamCacheOptions { /** How to handle query params. Default: "exclude-list" */ policy?: QueryParamPolicy; /** List of param names for include-list or exclude-list policies */ params?: string[]; } export interface FileOperationContext { sourceType: FileSourceType; projectSlug: string; branch?: string | null; releaseId?: string | null; environmentName?: string | null; } export interface TransformCacheKeyOptions { filePath: string; contentHash: string; ssr?: boolean; studioEmbed?: boolean; /** Hash of transitive dependencies (for invalidation when deps change) */ depsHash?: string; /** Hash of transform-affecting config (for invalidation when config changes) */ configHash?: string; /** Project ID for multi-tenant isolation */ projectId?: string; } /** Default marketing params to exclude (common tracking params that don't affect content) */ export declare const DEFAULT_EXCLUDED_QUERY_PARAMS: string[]; //# sourceMappingURL=prefixes.d.ts.map