1export declare enum UpdatesStateMachineEventTypes {
2    CHECK = "check",
3    CHECK_COMPLETE_AVAILABLE = "checkCompleteAvailable",
4    CHECK_COMPLETE_UNAVAILABLE = "checkCompleteUnavailable",
5    CHECK_ERROR = "checkError",
6    DOWNLOAD = "download",
7    DOWNLOAD_COMPLETE = "downloadComplete",
8    DOWNLOAD_ERROR = "downloadError",
9    RESTART = "restart"
10}
11/**
12 * Simplified model for an update manifest
13 */
14export type Manifest = {
15    updateId: string;
16};
17/**
18 * Model for an update event
19 */
20export type UpdatesStateMachineEvent = {
21    type: UpdatesStateMachineEventTypes;
22    body: {
23        message?: string;
24        manifest?: Manifest;
25        isRollBackToEmbedded?: boolean;
26    };
27};
28/**
29 * The context structure
30 */
31export interface UpdatesStateMachineContext {
32    isUpdateAvailable: boolean;
33    isUpdatePending: boolean;
34    latestManifest?: Manifest;
35    isChecking: boolean;
36    isDownloading: boolean;
37    isRollback: boolean;
38    downloadedManifest?: Manifest;
39    checkError?: Error;
40    downloadError?: Error;
41}
42/**
43 * Model of the expo-updates state machine, written in Typescript.
44 * The actual implementations of this state machine will be in Swift on iOS and Kotlin on Android.
45 */
46export declare const UpdatesStateMachine: import("xstate").StateMachine<UpdatesStateMachineContext, any, import("xstate").AnyEventObject, {
47    value: any;
48    context: UpdatesStateMachineContext;
49}, import("xstate").BaseActionObject, import("xstate").ServiceMap, import("xstate").ResolveTypegenMeta<import("xstate").TypegenDisabled, import("xstate").AnyEventObject, import("xstate").BaseActionObject, import("xstate").ServiceMap>>;
50//# sourceMappingURL=UpdatesStateMachine.d.ts.map