import p5 from 'p5'; /** * Detects the p5.js version from various possible sources across different environments. * * This function tries multiple strategies to detect the p5.js version, which is necessary * because different p5.js environments (P5LIVE, flok.cc, standalone, etc.) may expose * the version property in different ways. * * @param p The p5.js instance to detect the version from * @returns The detected p5.js version string, or '1.0.0' as a safe fallback * * @example * ```typescript * const version = detectP5Version(p5Instance); * console.log(`Detected p5.js version: ${version}`); * ``` */ export declare const detectP5Version: (p: p5) => string; /** * Checks if the detected p5.js version supports async operations (Promise-based APIs). * * @param version The p5.js version string * @returns True if the version supports async operations (2.0.0+), false otherwise * * @example * ```typescript * const version = detectP5Version(p5Instance); * const supportsAsync = isAsyncCapable(version); * * if (supportsAsync) { * const font = await p.loadFont('font.ttf'); * } else { * const font = p.loadFont('font.ttf', onLoadCallback); * } * ``` */ export declare const isP5AsyncCapable: (version: string) => boolean; export declare const isValidP5Color: (p: p5, color: any) => boolean; export declare const isValidP5Font: (p: p5, font: any) => boolean; /** * Compares two version strings like `'1.8.0'` and `'1.11.3'`. * @param v1 The first version string. * @param v2 The second version string. * @returns 1 if v1 > v2, -1 if v1 < v2, 0 if v1 === v2. */ export declare const compareVersions: (v1: string, v2: string) => number;