/** linear bezier curve implicit form coefficients */ type ImplicitForm1Coeffs = { vₓ: T; vᵧ: T; v: T; }; /** quadratic bezier curve implicit form coefficients */ type ImplicitForm2Coeffs = ImplicitForm1Coeffs & { vₓₓ: T; vₓᵧ: T; vᵧᵧ: T; }; /** cubic bezier curve implicit form coefficients */ type ImplicitForm3Coeffs = ImplicitForm2Coeffs & { vₓₓₓ: T; vₓₓᵧ: T; vₓᵧᵧ: T; vᵧᵧᵧ: T; }; /** linear bezier curve implicit form coefficient errors */ type ImplicitForm1CoeffErrors = { vₓ_: number; vᵧ_: number; v_: number; }; /** quadratic bezier curve implicit form coefficients */ type ImplicitForm2CoeffErrors = ImplicitForm1CoeffErrors & { vₓₓ_: number; vₓᵧ_: number; vᵧᵧ_: number; }; /** cubic bezier curve implicit form coefficients */ type ImplicitForm3CoeffErrors = ImplicitForm2CoeffErrors & { vₓₓₓ_: number; vₓₓᵧ_: number; vₓᵧᵧ_: number; vᵧᵧᵧ_: number; }; type ImplicitForm1 = { coeffs: ImplicitForm1Coeffs; errorBound: ImplicitForm1CoeffErrors; }; type ImplicitForm2 = { coeffs: ImplicitForm2Coeffs; errorBound: ImplicitForm2CoeffErrors; }; type ImplicitForm3 = { coeffs: ImplicitForm3Coeffs; errorBound: ImplicitForm3CoeffErrors; }; type ImplicitForm = ImplicitForm1 | ImplicitForm2 | ImplicitForm3; type ImplicitFormDouble = ImplicitForm; type ImplicitFormDd = ImplicitForm; type ImplicitFormExact1 = ImplicitForm1Coeffs; type ImplicitFormExact2 = ImplicitForm2Coeffs; type ImplicitFormExact3 = ImplicitForm3Coeffs; type ImplicitFormExact = ImplicitFormExact1 | ImplicitFormExact2 | ImplicitFormExact3; export type { ImplicitForm1, ImplicitForm2, ImplicitForm3, ImplicitForm, ImplicitFormDd, ImplicitFormDouble, ImplicitForm1Coeffs, ImplicitForm2Coeffs, ImplicitForm3Coeffs, ImplicitForm1CoeffErrors, ImplicitForm2CoeffErrors, ImplicitForm3CoeffErrors, ImplicitFormExact1, ImplicitFormExact2, ImplicitFormExact3, ImplicitFormExact };