import type { Application, ApplicationLoopOptions, ApplicationStepOptions, ApplicationWindow, BackendExplanation, LoopBackend } from '@flighthq/types/contract'; export declare function attachApplicationExit(app: Application): void; export declare function attachApplicationLifecycle(app: Application, win: ApplicationWindow): void; export declare function createApplication(): Application; export declare function createWebLoopBackend(): LoopBackend; export declare function detachApplicationExit(app: Application): void; export declare function disposeApplication(app: Application): void; export declare function enableApplicationLifecycleSignals(app: Application): void; export declare function explainLoopBackend(): BackendExplanation; export declare function forEachApplicationWindow(app: Readonly, fn: (win: ApplicationWindow) => void): void; export declare function getApplicationFrameRate(app: Readonly): number; export declare function getApplicationMainWindow(app: Readonly): ApplicationWindow | null; export declare function getApplicationWindows(app: Readonly): readonly ApplicationWindow[]; export declare function getLoopBackend(): LoopBackend | null; export declare function installLoopHostBackend(backend: LoopBackend): void; export declare function isApplicationRunning(app: Readonly): boolean; export declare function observeLoopHostResult(operation: 'cancelFrame' | 'requestFrame', succeeded: boolean): void; export declare function pauseApplicationLoop(app: Application): void; export declare function registerApplicationWindow(app: Application, win: ApplicationWindow): void; export declare function resetLoopBackendForTest(): void; export declare function resumeApplicationLoop(app: Application): void; export declare function setApplicationMainWindow(app: Application, win: ApplicationWindow): void; export declare function setLoopBackend(backend: LoopBackend | null): void; export declare function startApplicationLoop(app: Application, options?: Readonly): void; export declare function stepApplicationLoop(app: Application, deltaTime: number, options?: Readonly): void; export declare function stopApplicationLoop(app: Application): void; export declare function unregisterApplicationWindow(app: Application, win: ApplicationWindow): void; //# sourceMappingURL=application.d.ts.map