/**
 * Main layout loop class.
 */
export default class Loop {
    /**
     * @param {() => any} fn - Function to be looped
     * @param {number=} updateCap - How many FPS to cap the update frequency to.
     */
    constructor(fn: () => any, updateCap?: number | undefined);
    fn: () => any;
    timeout: NodeJS.Timeout | null;
    running: boolean;
    previousTimestamp: number | null;
    unprocessedTime: number | null;
    UPDATE_CAP: number;
    setUpdateCap(newCap: any): void;
    /**
     * Start the loop
     */
    start(): void;
    /**
     * Stop the loop
     */
    stop(): void;
    /**
     * Execute one loop
     */
    run(): void;
}
