// Copyright (c) 2024, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

// Generated from Web IDL definitions.

import 'dart:js_interop';

typedef UpdateCallback = JSFunction;

@JS('ViewTransition')
@staticInterop
class ViewTransition {}

extension ViewTransitionExtension on ViewTransition {
  external void skipTransition();
  external JSPromise get updateCallbackDone;
  external JSPromise get ready;
  external JSPromise get finished;
}
