import { StartViewTransitionOptions } from './types';
/**
 * Run a state update inside a native View Transition. Any `<AnimateView>`
 * component that enters, exits, updates or shares an element during the
 * update will animate with its configured animations.
 *
 * ```ts
 * startTransition(() => { show.value = !show.value }, { types: ['toggle'] })
 * ```
 *
 * If a transition is already playing, the update is queued and flushed —
 * batched with any others — once it finishes. Queued calls return
 * `undefined` and their state changes apply only when the queue drains
 * (React `startTransition` semantics).
 *
 * Returns the native `ViewTransition`, or `undefined` when queued, or when
 * the View Transitions API is unavailable (SSR or unsupported browsers —
 * the update still runs, without animation).
 */
export declare function startTransition(update: () => void | Promise<void>, options?: StartViewTransitionOptions): ViewTransition | undefined;
