export interface DocumentSupportingViewTransitionAPI { startViewTransition( updateCallback: () => Promise | void, ): IViewTransition } export interface IViewTransition { finished: Promise ready: Promise updateCallbackDone: Promise skipTransition(): void } export const docWithViewTransitionAPI = document as unknown as DocumentSupportingViewTransitionAPI export const supportsViewTransitions = !!docWithViewTransitionAPI.startViewTransition