import type { ICoordinates } from "../Core/Interfaces/ICoordinates"; import type { ICharacterShape } from "../Options/Interfaces/Particles/Shape/ICharacterShape"; import type { IBounds } from "../Core/Interfaces/IBounds"; import type { IDimension } from "../Core/Interfaces/IDimension"; import type { IImage } from "../Core/Interfaces/IImage"; import type { IParticle } from "../Core/Interfaces/IParticle"; import { IHsl } from "../Core/Interfaces/IHsl"; declare type CSSOMString = string; declare type FontFaceLoadStatus = "unloaded" | "loading" | "loaded" | "error"; declare type FontFaceSetStatus = "loading" | "loaded"; interface FontFace { family: CSSOMString; style: CSSOMString; weight: CSSOMString; stretch: CSSOMString; unicodeRange: CSSOMString; variant: CSSOMString; featureSettings: CSSOMString; variationSettings: CSSOMString; display: CSSOMString; readonly status: FontFaceLoadStatus; readonly loaded: Promise; load(): Promise; } interface FontFaceSet { readonly status: FontFaceSetStatus; readonly ready: Promise; check(font: string, text?: string): boolean; load(font: string, text?: string): Promise; } declare global { interface Document { fonts: FontFaceSet; } } export declare class Utils { static replaceColorSvg(image: IImage, color: IHsl, opacity: number): string; static clamp(num: number, min: number, max: number): number; static isInArray(value: T, array: T[] | T): boolean; static mix(comp1: number, comp2: number, weight1: number, weight2: number): number; static getParticleBaseVelocity(particle: IParticle): ICoordinates; static getDistances(pointA: ICoordinates, pointB: ICoordinates): { dx: number; dy: number; distance: number; }; static getDistance(pointA: ICoordinates, pointB: ICoordinates): number; static loadFont(character: ICharacterShape): Promise; static arrayRandomIndex(array: T[]): number; static itemFromArray(array: T[], index?: number): T; static randomInRange(min: number, max: number): number; static isPointInside(point: ICoordinates, size: IDimension, radius?: number): boolean; static areBoundsInside(bounds: IBounds, size: IDimension): boolean; static calculateBounds(point: ICoordinates, radius: number): IBounds; static loadImage(source: string): Promise; static downloadSvgImage(source: string): Promise; static deepExtend(destination: any, source: any): any; } export {};