import { GpuShaderDefinition } from '../../gpu/porters'; export interface ComponentProps { /** * Layout used to place the repeated instances * * Accepts one of: `"grid"`, `"radial"`, `"linear"`. * @default "grid" */ mode: 'grid' | 'radial' | 'linear'; /** * Crop inset from the left edge of the source element (fraction of its width) * * @default 0 */ cropLeft: number; /** * Crop inset from the right edge of the source element (fraction of its width) * * @default 0 */ cropRight: number; /** * Crop inset from the top edge of the source element (fraction of its height) * * @default 0 */ cropTop: number; /** * Crop inset from the bottom edge of the source element (fraction of its height) * * @default 0 */ cropBottom: number; /** * Number of grid columns * * @default 3 */ columns: number; /** * Number of grid rows * * @default 3 */ rows: number; /** * Horizontal gap between grid cells * * @default 0.05 */ gapX: number; /** * Vertical gap between grid cells * * @default 0.05 */ gapY: number; /** * Horizontal offset applied to every other row (brick layout) * * @default 0 */ stagger: number; /** * Mirror alternating columns/rows for seamless tiling patterns * * Accepts one of: `"none"`, `"alternate-flip-x"`, `"alternate-flip-y"`, `"both"`. * @default "none" */ flip: 'none' | 'alternate-flip-x' | 'alternate-flip-y' | 'both'; /** * Number of repeated instances * * @default 8 */ count: number; /** * Orbit radius of the radial layout * * @default 0.3 */ radius: number; /** * Angle of the first instance on the orbit * * @default 0 */ startAngle: number; /** * Angular span the instances are distributed across * * @default 360 */ sweep: number; /** * Rotate each instance to face the orbit center * * Accepts a boolean value (`true` or `false`). * @default false */ faceCenter: boolean; /** * Direction of the linear layout in degrees (0 = rightward) * * @default 0 */ direction: number; /** * Distance between consecutive instances * * @default 0.2 */ spacing: number; /** * Progressive scale multiplier applied per instance (compounds with each copy) * * @default 1 */ instanceScale: number; /** * Additional rotation in degrees applied per instance (accumulates with each copy) * * @default 0 */ instanceRotation: number; /** * Progressive opacity falloff applied per instance (compounds with each copy) * * @default 1 */ instanceOpacity: number; /** * Hue rotation in degrees added per instance * * @default 0 */ hueShift: number; /** * Seamless layout animation phase (0-1 wraps to the identical layout) * * @default 0 */ phase: number; /** * Stacking order of overlapping instances * * Accepts one of: `"forward"`, `"backward"`. * @default "forward" */ zOrder: 'forward' | 'backward'; /** * Random per-instance position offset * * @default 0 */ jitterPosition: number; /** * Random per-instance rotation * * @default 0 */ jitterRotation: number; /** * Random per-instance scale variation * * @default 0 */ jitterScale: number; /** * Random per-instance opacity variation * * @default 0 */ jitterOpacity: number; /** * Random seed for the jitter values * * @default 0 */ seed: number; } export declare const componentDefinition: GpuShaderDefinition; export default componentDefinition; //# sourceMappingURL=index.d.ts.map