import { Context } from './context'; /** * This wizard provides means for non-trivial, context specific framebuffer setups, texture formats, etc. */ export declare class Wizard { /** * Queries the support of internal texture precision given a query precision within the given context. * @param context - Wrapped gl context for function resolution (passed to all stages). * @param precision - Requested precision of the internal format: 'auto', 'float', 'half', 'byte'. * @returns tuple of query, type, and internal format index to reduce tuple return logic (see switch) */ private static queryPrecisionSupport; /** * Queries the internal texture format matching the target format best for the given context. For 'auto' precision * the format of maximum accuracy supported is returned. * @param context - Wrapped gl context for function resolution (passed to all stages). * @param target - Target format, e.g., gl.RGBA, used to find the supported precision/accuracy for. * @param precision - Requested precision of the internal format: 'auto', 'float', 'half', 'byte'. * @returns - 3-tuple containing the (1) internal format, (2) the type (required for some internal formats to work * ...), and (3) the precision enum/string that matches the resulting format best. */ static queryInternalTextureFormat(context: Context, target: GLenum, precision?: Wizard.Precision): [GLenum, GLenum, Wizard.Precision]; } export declare namespace Wizard { enum Precision { float = "float", half = "half", byte = "byte", auto = "auto" } }