import * as spec from '@galacean/effects-specification'; import type { vec2 } from '@galacean/effects-specification'; export type Shape2D = { gs?: spec.ShapeGeometry[]; t: number; g: spec.ShapeGeometry; }; export type GeometryFromShape = { aPoint: number[] | Float32Array; index: number[] | Uint16Array; }; type ShapeGeometryPre = { p: spec.ShapePoints[1]; s: spec.ShapeSplits[1]; }; export type ShapeGeometryData = { gs: ShapeGeometryPre[]; } | { g: ShapeGeometryPre; } | spec.ShapeGeometry; export declare function getGeometryTriangles(geometry: spec.ShapeGeometry, options: { indexBase?: number; uvTransform?: number[]; }): { aPoint: Float32Array; index: Uint16Array; }; export declare function getGeometryByShape(shape: ShapeGeometryData, uvTransform?: number[]): GeometryFromShape; export declare function rotateVec2(out: vec2 | number[], vec2: vec2, angleInRad: number): vec2; export {};