import { AppHistoryEntry as AppHistoryEntryPrototype, AppHistoryNavigationOptions, AppHistoryNavigationType, AppHistoryResult, AppHistoryTransition as AppHistoryTransitionPrototype, AppHistoryTransitionInit as AppHistoryTransitionInitPrototype } from "./spec/app-history";
import { AppHistoryEntry } from "./app-history-entry";
import { Deferred } from "./util/deferred";
import { EventTarget } from "./event-target";
export declare const Rollback: unique symbol;
export declare const Unset: unique symbol;
export declare type InternalAppHistoryNavigationType = AppHistoryNavigationType | typeof Rollback | typeof Unset;
export declare const AppHistoryTransitionParentEventTarget: unique symbol;
export declare const AppHistoryTransitionFinishedDeferred: unique symbol;
export declare const AppHistoryTransitionCommittedDeferred: unique symbol;
export declare const AppHistoryTransitionNavigationType: unique symbol;
export declare const AppHistoryTransitionInitialEntries: unique symbol;
export declare const AppHistoryTransitionFinishedEntries: unique symbol;
export declare const AppHistoryTransitionInitialIndex: unique symbol;
export declare const AppHistoryTransitionFinishedIndex: unique symbol;
export declare const AppHistoryTransitionEntry: unique symbol;
export declare const AppHistoryTransitionIsCommitted: unique symbol;
export declare const AppHistoryTransitionIsFinished: unique symbol;
export declare const AppHistoryTransitionIsRejected: unique symbol;
export declare const AppHistoryTransitionKnown: unique symbol;
export declare const AppHistoryTransitionPromises: unique symbol;
export declare const AppHistoryTransitionWhile: unique symbol;
export declare const AppHistoryTransitionIsOngoing: unique symbol;
export declare const AppHistoryTransitionIsPending: unique symbol;
export declare const AppHistoryTransitionWait: unique symbol;
export declare const AppHistoryTransitionPromiseResolved: unique symbol;
export declare const AppHistoryTransitionRejected: unique symbol;
export declare const AppHistoryTransitionCommit: unique symbol;
export declare const AppHistoryTransitionFinish: unique symbol;
export declare const AppHistoryTransitionStart: unique symbol;
export declare const AppHistoryTransitionStartDeadline: unique symbol;
export declare const AppHistoryTransitionError: unique symbol;
export declare const AppHistoryTransitionFinally: unique symbol;
export declare const AppHistoryTransitionAbort: unique symbol;
export interface AppHistoryTransitionInit extends Omit<AppHistoryTransitionInitPrototype, "finished"> {
    rollback(options?: AppHistoryNavigationOptions): AppHistoryResult;
    [AppHistoryTransitionFinishedDeferred]?: Deferred<AppHistoryEntry>;
    [AppHistoryTransitionCommittedDeferred]?: Deferred<AppHistoryEntry>;
    [AppHistoryTransitionNavigationType]: InternalAppHistoryNavigationType;
    [AppHistoryTransitionInitialEntries]: AppHistoryEntry[];
    [AppHistoryTransitionInitialIndex]: number;
    [AppHistoryTransitionFinishedEntries]?: AppHistoryEntry[];
    [AppHistoryTransitionFinishedIndex]?: number;
    [AppHistoryTransitionKnown]?: Iterable<EventTarget>;
    [AppHistoryTransitionEntry]: AppHistoryEntry;
    [AppHistoryTransitionParentEventTarget]: EventTarget;
}
export declare class AppHistoryTransition extends EventTarget implements AppHistoryTransitionPrototype {
    #private;
    readonly finished: Promise<AppHistoryEntryPrototype>;
    /**
     * @experimental
     */
    readonly committed: Promise<AppHistoryEntryPrototype>;
    readonly from: AppHistoryEntryPrototype;
    readonly navigationType: AppHistoryNavigationType;
    readonly [AppHistoryTransitionFinishedDeferred]: Deferred<AppHistoryEntry<unknown>>;
    readonly [AppHistoryTransitionCommittedDeferred]: Deferred<AppHistoryEntry<unknown>>;
    get [AppHistoryTransitionIsPending](): boolean;
    get [AppHistoryTransitionNavigationType](): InternalAppHistoryNavigationType;
    get [AppHistoryTransitionInitialEntries](): AppHistoryEntry[];
    get [AppHistoryTransitionInitialIndex](): number;
    [AppHistoryTransitionFinishedEntries]?: AppHistoryEntry[];
    [AppHistoryTransitionFinishedIndex]?: number;
    [AppHistoryTransitionIsCommitted]: boolean;
    [AppHistoryTransitionIsFinished]: boolean;
    [AppHistoryTransitionIsRejected]: boolean;
    [AppHistoryTransitionIsOngoing]: boolean;
    readonly [AppHistoryTransitionKnown]: Set<EventTarget>;
    readonly [AppHistoryTransitionEntry]: AppHistoryEntry;
    get signal(): import("abort-controller").AbortSignal;
    get [AppHistoryTransitionPromises](): Set<Promise<PromiseSettledResult<void>>>;
    constructor(init: AppHistoryTransitionInit);
    rollback: (options?: AppHistoryNavigationOptions) => AppHistoryResult;
    [AppHistoryTransitionPromiseResolved]: (...promises: Promise<PromiseSettledResult<void>>[]) => void;
    [AppHistoryTransitionRejected]: (reason: unknown) => Promise<void>;
    [AppHistoryTransitionWhile]: (promise: Promise<unknown>) => void;
    [AppHistoryTransitionWait]: () => Promise<AppHistoryEntry>;
    [AppHistoryTransitionAbort](): void;
    [AppHistoryTransitionFinish]: () => Promise<void>;
}
