import { EdgeUvInterface } from './EdgeUv.js'; import { LoadableAttribute, LoadableAttributeInterface } from './LoadableAttribute.js'; import { SquareUvInterface } from './SquareUv.js'; import { TriangleUvInterface } from './TriangleUv.js'; import { UvIslandInterface } from './UvIsland.js'; import { VertexUvInterface } from './VertexUv.js'; export interface MaxMinLoadableAttributeInterface { max: LoadableAttributeInterface; min: LoadableAttributeInterface; } export interface UVInterface { edges: EdgeUvInterface[]; invertedTriangleCount: LoadableAttributeInterface; islands: UvIslandInterface[]; name: string; overlapCount: LoadableAttributeInterface; triangles: TriangleUvInterface[]; pixelGrid: SquareUvInterface[]; u: MaxMinLoadableAttributeInterface; v: MaxMinLoadableAttributeInterface; vertices: VertexUvInterface[]; isInRangeZeroToOne: () => boolean; hasEnoughMarginAtResolution: (resolution: number) => boolean; } export declare class UV implements UVInterface { edges: EdgeUvInterface[]; invertedTriangleCount: LoadableAttribute; islands: UvIslandInterface[]; name: string; overlapCount: LoadableAttribute; triangles: TriangleUvInterface[]; pixelGrid: SquareUvInterface[]; u: { max: LoadableAttribute; min: LoadableAttribute; }; v: { max: LoadableAttribute; min: LoadableAttribute; }; vertices: VertexUvInterface[]; constructor(name: string, triangles: TriangleUvInterface[], uvIndicesAvailable: boolean); isInRangeZeroToOne: () => boolean; hasEnoughMarginAtResolution: (resolution: number) => boolean; private calculateInvertedTriangleCount; private calculateMaxMinExtents; private calculateOverlapCount; private calculateUvIslands; }