import * as PIXI from 'pixi.js'; import { ContainerEvents, Text } from '../sprites'; import { EventEmitter } from './EventEmitter'; interface FPSCounterOptions { /** * @default true */ autoStart?: boolean; /** * What the counter will show. * * @default 'FPS: ${count}' */ presentation?: string; /** * @default PIXI.UPDATE_PRIORITY.LOW */ priority?: PIXI.UPDATE_PRIORITY; /** * @default 2 */ updatesBySeconds?: number; } export declare type FPSCounterEvents = ContainerEvents & { ready: []; }; export interface FPSCounter { emit: EventEmitter.Emit; on: EventEmitter.On; once: EventEmitter.Once; } export declare class FPSCounter extends Text implements FPSCounterOptions { autoStart: boolean; /** * What the counter will show. * * @remarks use `${count}` to represent the value. * @default 'FPS: ${count}' */ presentation: string; /** * The priority of the FPSCounter. * * @default PIXI.UPDATE_PRIORITY.LOW */ priority: PIXI.UPDATE_PRIORITY; /** * The number of time to update the FPSCounter per second. * * @remarks Upper values means less precise values. * @default 2 */ updatesBySeconds: number; ticker: PIXI.Ticker; private lastTime; private timeValues; private _ready; constructor(options?: FPSCounterOptions); get ready(): boolean; /** * Returns the approximate value of the FPS. * * @see http://pixijs.download/dev-fix-utils-docs/docs/PIXI.Ticker_.html#FPS * * @returns - The approximate number. */ get approximate(): number; /** * Returns true if the FPSCounter is started. * * @returns - The value. */ get started(): boolean; /** * Returns the mean value from the last 30 frames. * * @remarks Only update 2 times per second. * * @returns - The number in a Promise because it is only available 2 times per second. */ get value(): Promise; /** * Start the ticker. * @remarks If {@link FPSCounter#autoStart} hasn't been set to `false`, you shouldn't have to use this method. */ start(): void; /** * Update the text. * @remarks If {@link FPSCounter#autoStart} hasn't been set to `false` and/or you have used the {@link FPSCounter#start} method, you shouldn't have to use this method. */ update(): void; private setFPS; } export {};