import { TutorialUtils } from "/Scripts/types/host/renderer/ui/tutorial";


/**
 * Static classes provided to the script environment
 */
export interface StaticClasses {

    /**
     * Utility functions for doing math
     */
    readonly mathUtils?: any,

    /**
     * Simulation processing related functions
     */
    readonly simulation?: Class<SimulationClass>,

    /**
     * Tutorial ui utils
     */
    readonly tutorialUtils?: Class<TutorialUtils>,


}

/**
 * A class file
 */
export interface Class<T> {
    /**
     * The static values of the class
     */
    static: T,
}

/**
 * The simulation processing class
 */
export interface SimulationClass {

    /**
     * Sets the simulation frame count
     * 0 - Do not simulate any frames
     * 1 - Simulate a single frame
     * 2+ - Simulate indefinitely
     * Values lower than 0 are ignored
     * @param value The frame count
     */
    readonly setFramestep: (value: number) => void,

}
