import type { Nullable } from "@babylonjs/core/types";
import type { MmdStandardMaterial } from "../../../Loader/mmdStandardMaterial";
import type { ILogger } from "../../ILogger";
import type { MmdMorphControllerBase } from "../../mmdMorphControllerBase";
type MorphIndices = readonly number[];
/**
 * Induces a recompilation of the `MmdStandardMaterial`.
 *
 * This method prevents frame drop during animation by inducing properties to be recompiled that are used in morph animation
 *
 * @param materials Materials
 * @param morphController Morph controller
 * @param morphIndices Morph indices to induce recompile
 * @param logger Logger
 */
export declare function induceMmdStandardMaterialRecompile(materials: readonly MmdStandardMaterial[], morphController: MmdMorphControllerBase, morphIndices: readonly Nullable<MorphIndices>[], logger?: ILogger): void;
/**
 * Sets the `numMaxInfluencers` of the `MorphTargetManager` to the number of active morph targets in the morph animation
 *
 * @param morphController Morph controller
 * @param morphIndices Morph indices to induce recompile
 */
export declare function setMorphTargetManagersNumMaxInfluencers(morphController: MmdMorphControllerBase, morphIndices: readonly Nullable<MorphIndices>[]): void;
export {};
