import { CSSProperties, FC } from 'react'; export interface ShaderComponent { type: string; id?: string; props?: Record; children?: ShaderComponent[]; blendMode?: string; opacity?: number; renderOrder?: number; } export interface ShaderDefinition { components: ShaderComponent[]; structureVersion?: number; colorSpace?: 'p3-linear' | 'srgb'; devicePreview?: string; } export interface KeyPropTarget { component_id: string; prop: string; } export interface KeyProp { label: string; type: 'color' | 'range' | 'logo' | 'image'; category?: string; targets: KeyPropTarget[]; } export interface PreviewProps { shader?: string; presetId?: string; apiBaseUrl?: string; obfuscationKey?: string; watermarkText?: string; watermarkLink?: string; style?: CSSProperties | string; className?: string; /** * Map of camelCase key_prop identifier → user value, layered on top of the * preset's authored defaults. Identifiers are derived from `key_prop.label` * via the same slugify rules the Pro Framer exporter uses, so identifiers * generated by codegen and identifiers expected here always match. * * Only applies on the `presetId` path — `shader` token previews don't carry * key_props and silently ignore this prop. */ configuration?: Record; /** * Lock the preview to a specific snapshot of the preset, addressed by * content hash. Customized snippets pin a version so subsequent upstream * edits (label renames, key_prop regenerations) don't silently break the * configuration. Server falls back to latest with the * `X-Shaders-Version-Fallback` header when the requested snapshot is * missing. Only meaningful on the `presetId` path. */ version?: string; [key: string]: any; } export declare const Preview: FC; export default Preview; //# sourceMappingURL=Preview.d.ts.map