import Constants from 'expo-constants';
import { EventSubscription } from 'fbemitter';
declare type Manifest = typeof Constants.manifest;
declare type UpdateCheckResult = {
isAvailable: false;
} | {
isAvailable: true;
manifest: Manifest;
};
declare type UpdateFetchResult = {
isNew: false;
} | {
isNew: true;
manifest: Manifest;
};
declare type UpdateEvent = {
type: 'downloadStart' | 'downloadProgress' | 'noUpdateAvailable';
} | {
type: 'downloadFinished';
manifest: Manifest;
} | {
type: 'error';
message: string;
};
declare type UpdateEventListener = (event: UpdateEvent) => void;
export declare function reload(): Promise<void>;
export declare function reloadFromCache(): Promise<void>;
export declare function checkForUpdateAsync(): Promise<UpdateCheckResult>;
export declare function fetchUpdateAsync({ eventListener, }?: {
eventListener?: UpdateEventListener;
}): Promise<UpdateFetchResult>;
export declare function clearUpdateCacheExperimentalAsync(abiVersion: string): Promise<void>;
export declare function addListener(listener: Function): EventSubscription;
export declare const EventType: {
DOWNLOAD_STARTED: string;
DOWNLOAD_PROGRESS: string;
DOWNLOAD_FINISHED: string;
NO_UPDATE_AVAILABLE: string;
ERROR: string;
};
export {};