import type { _timer } from "./exports/timer.export";
/** @noSelf **/
export interface l_timer extends _timer {
    /**
     * Returns the game world time in seconds relative to time the mission started.
     * Will always count up from when the mission started.
     * If the value is above 86400 then it is the next day after the mission started.
     * This function is useful in attaining the time of day.
     *
     * Assuming a mission started at noon the value returned would be 43200. (12*60*60).
     * Midnight would be 0. Calling this function at 12:00:10 timer.getAbsTime will return 43210.xxx.
     *
     * @see https://wiki.hoggitworld.com/view/DCS_func_getAbsTime
     */
    getAbsTime(): number;
    /**
     * Re-Schedules an already scheduled function to run at a different time in the future.
     *
     * @see https://wiki.hoggitworld.com/view/DCS_func_setFunctionTime
     *
     * @param functionId
     * @param modelTime
     */
    setFunctionTime(functionId: number, modelTime: number): void;
    /**
     * Schedules a function to run at a time in the future. This is a very powerful function.
     * The function that is called is expected to return nil or a number which will indicate the next time the function will be rescheduled.
     *
     * Use the second argument in that function to retrieve the current time and add the desired amount of delay (expressed in seconds).
     *
     * @see https://wiki.hoggitworld.com/view/DCS_func_scheduleFunction
     *
     * @param functionToCall
     * @param anyFunctionArguement
     * @param modelTime
     */
    scheduleFunction(functionToCall: Function, anyFunctionArguement: any[], modelTime: number): number;
    /**
     * Removes a scheduled function as defined by the functionId from executing.
     * Essentially will "destroy" the function.
     *
     * @see https://wiki.hoggitworld.com/view/DCS_func_removeFunction
     *
     * @param functionId
     */
    removeFunction(functionId: number): void;
    /**
     * Returns the model time in seconds to 3 decimal places. This counts time once the simulator loads.
     * So if a mission is paused, the time this function returns still moves forward.
     *
     * @see https://wiki.hoggitworld.com/view/DCS_func_getTime
     */
    getTime(): number;
    /**
     * Returns the mission start time in seconds.
     * Can be used with timer.getAbsTime() to see how much time has passed in the mission.
     *
     * @see https://wiki.hoggitworld.com/view/DCS_func_getTime0
     */
    getTime0(): number;
}
