import { GpuShaderDefinition } from '../../gpu/porters'; import { transformPosition, transformColor } from '../../utilities/transformations'; import { ColorStop } from '../../utilities/colorStops'; import { BoundingBoxOrigin } from '../../types'; export interface ComponentProps { /** * Reference edge the center position is measured from (center default). Lets you pin the shape relative to a corner or the canvas centre. * * @default "center" */ origin: BoundingBoxOrigin; /** * Center position of the shape * * Accepts `{ x, y }` objects with values from 0 to 1, or CSS positions like `top center`. * @default {"x":0.5,"y":0.5} */ center: Parameters[0]; /** * Scale of the shape (1 = default size) * * Accepts a number between 0.1 and 3. * @default 1 */ scale: number; /** * Rotation of the shape in degrees * * Accepts a number between 0 and 360. * @default 0 */ rotation: number; /** * First border light color (used when no gradient stops are set) * * Accepts hex strings (`#ff0000`), RGB objects (`{ r, g, b }`), or CSS color names (`limegreen`). * @default "#7b2ff7" */ colorA: Parameters[0]; /** * Second border light color (used when no gradient stops are set) * * Accepts hex strings (`#ff0000`), RGB objects (`{ r, g, b }`), or CSS color names (`limegreen`). * @default "#00e0ff" */ colorB: Parameters[0]; stops: ColorStop[] | null; /** * Color space overlapping lights blend in * * Accepts one of the predefined option values. * @default "linear" */ colorSpace: string; /** * Width of the border band * * @default 0.25 */ thickness: number; /** * Edge softness — 0 = crisp band, 1 = wide smooth gradient * * @default 0.5 */ softness: number; /** * Brightness of the individual light spots * * @default 0.6 */ intensity: number; /** * How additively overlapping lights pile up — high values overdrive to white * * @default 0.3 */ bloom: number; /** * Number of light spots orbiting per color * * Accepts a number between 1 and 5. * @default 3 */ spots: number; /** * Angular size of each light spot * * @default 0.5 */ spotSize: number; /** * Heartbeat pulsing — synchronizes the lights to a double-beat rhythm * * @default 0 */ pulse: number; /** * Noisy luminous smoke drifting along the border * * @default 0.3 */ smoke: number; /** * Scale of the smoke billows * * @default 0.5 */ smokeSize: number; /** * Animation speed. 0 pauses. * * Accepts a number between 0 and 4. * @default 1 */ speed: number; /** * Random seed — re-rolls spot speeds, directions and phases * * @default 0 */ seed: number; /** * Serialized shape configuration (JSON) * * @default "DEFAULT_SHAPE_CONFIG" */ shape: string | Record; /** * URL to a pre-generated SDF .bin file * * @default "" */ shapeSdfUrl: string; /** * Active SDF shape type * * @default "" */ shapeType: string; } export declare const componentDefinition: GpuShaderDefinition; export default componentDefinition; //# sourceMappingURL=index.d.ts.map