import class LatestSaveMetadataInfo extends IScriptable
{
	import var locationName : String;
	import var trackedQuest : String;
	import var lifePath : inkLifePath;
	import var playTime : Double;
	import var playthroughTime : Double;
	import var initialLoadingScreenID : Uint64;
}

importonly abstract class inkISystemRequestsHandler extends IScriptable
{
	public import function RegisterToCallback( eventName : CName, object : IScriptable, functionName : CName );
	public import function UnregisterFromCallback( eventName : CName, object : IScriptable, functionName : CName );
	public import function ExitGame();
	public import function GetUserSettings() : UserSettings;
	public import function RequestLoadUserSettings();
	public import function RequestSaveUserSettings();
	public import function UpdateLaunchCounter();
	public import function RequestTelemetryConsent( fromSettings : Bool );
	public import function RequestLocalStorageSave();
	public import function ShouldDisplayGog() : Bool;
	public import function GetGameDefCategories() : array< String >;
	public import function GetGameDefinitions( categoryId : Int32 ) : array< String >;
	public import function GetWorlds() : array< String >;
	public import function GetGenders() : array< String >;
	public import function IsOnline() : Bool;
	public import function RunUiFunctionalTestWorld();
	public import function StartGameDefinition( categoryId : Int32, gamedefId : Int32, genderId : Int32 );
	public import function StartWorld( worldId : Int32, genderId : Int32 );
	public import function StartNewGame( state : IScriptable );
	public import function RequestSavesCountSync() : Int32;
	public import function RequestSavesForLoad();
	public import function CancelSavesRequest();
	public import function RequestSavesForSave();
	public import function GetCloudSavesQueryStatus() : CloudSavesQueryStatus;
	public import function HasLastCheckpoint() : Bool;
	public import function LoadSavedGame( saveId : Int32 );
	public import function LoadLastCheckpoint( onlySamePlaythrough : Bool );
	public import function DeleteSavedGame( saveId : Int32 );
	public import function ExportSavedGame( saveId : Int32 );
	public import function ImportSavedGame();
	public import function QuickSave();
	public import function ManualSave( saveName : String );
	public import function HasFreeSaveSlot( saveName : String ) : Bool;
	public import function OverrideSave( saveId : Int32 );
	public import function RequestSavedGameScreenshot( saveId : Int32, imageWidget : weak< inkImage >, optional callbackListener : weak< IScriptable >, optional functionName : CName );
	public import function RequestGameScreenshot( screenshotId : Int32, imageWidget : weak< inkImage >, optional callbackListener : weak< IScriptable >, optional functionName : CName );
	public import function DeleteGameScreenshotRequest( screenshotId : Int32, optional callbackListener : weak< IScriptable >, optional functionName : CName );
	public import function RequestGameScreenshotByHash( screenshotHash : Uint32, imageWidget : weak< inkImage >, optional callbackListener : weak< IScriptable >, optional functionName : CName ) : Bool;
	public import function GetPathHash( path : String ) : Uint32;
	public import function RequestGameScreenshotsForLoad();
	public import function CancelGameScreenshotRequests();
	public import function SortGameScreenshot( gameScreenshotInfos : array< GameScreenshotInfo >, sortMode : inkGameScreenshotSortMode ) : array< GameScreenshotInfo >;
	public import function RequestSaveFavorites( favorites : array< Uint32 > );
	public import function RequestLoadFavorites();
	public import function CancelSavedGameScreenshotRequests();
	public import function GetLatestSaveMetadata() : LatestSaveMetadataInfo;
	public import function RequestLANServers();
	public import function RequestInternetServers();
	public import function CloudQuickmatch( groupToken : String );
	public import function JoinServer( serverId : Int32 );
	public import function GetMultiplayerWorlds() : array< String >;
	public import function GetPlayerRecordIds() : array< String >;
	public import function GetSessionTypes() : array< String >;
	public import function GetSessionTimeLimits() : array< String >;
	public import function GetSessionPlayersLimits() : array< String >;
	public import function GetRecords() : array< String >;
	public import function PlayRecord( filename : String );
	public import function GotoMainMenu();
	public import function PauseGame();
	public import function UnpauseGame();
	public import function IsGamePaused() : Bool;
	public import function IsPreGame() : Bool;
	public import function GetGameVersion() : String;
	public import function RequestSystemNotificationGeneric( title : CName, message : CName );
	public import function RequestAdditionalContentInstall( title : CName );
	public import const function IsAdditionalContentOwned( id : CName ) : Bool;
	public import const function IsAdditionalContentEnabled( id : CName ) : Bool;
	public import const function IsAdditionalContentReleased( id : CName ) : Bool;
	public import const function IsAdditionalContentInstalled( id : CName ) : Bool;
	public import const function IsPurchaseThroughAppEnabled() : Bool;
	public import const function IsInstallThroughAppEnabled() : Bool;
	public import const function GetAdditionalContentValidationResult( id : CName ) : Uint32;
	public import function RequestAdditionalContentPurchase( id : CName ) : Bool;
	public import function LogPreorderBannerImpression( id : CName );
	public import function LogPreorderPopupImpression( id : CName );
	public import function LogPreorderBannerClick( id : CName );
	public import function LogPreorderClick( id : CName );
	public import function OpenPrivacyPolicyUrl();
	public import function RequestMarketingConsentPopupType();
	public import function RequestMarketingConsentUpdate( newsletterConsent : Bool, thirdPartyConsent : Bool );
	public import function RequestMarketingConsentVersionUpdate();
	public import function RequestMarketingConsentSignInVersionUpdate();
}

