import enum gameJournalEntryState
{
	Undefined,
	Inactive,
	Active,
	Succeeded,
	Failed,
}

import enum gameJournalListenerType
{
	State,
	Visited,
	Tracked,
	Untracked,
	Counter,
	StateDelay,
	ObjectiveOptional,
	ChoiceEntry,
}

import enum JournalChangeType
{
	Undefined,
	Direct,
	Indirect,
	IndirectDependent,
}

import enum JournalNotifyOption
{
	Undefined,
	DoNotNotify,
	Notify,
}

importonly class gameJournalPath extends IScriptable
{
	public import const function GetHash() : Uint32;
	public import const function IsValid() : Bool;
}

importonly struct gameJournalEntryStateChangeData
{
	import var entryPath : gameJournalPath;
	import var entryName : String;
	import var entryType : CName;
	import var isEntryTracked : Bool;
	import var isQuestEntryTracked : Bool;
	import var oldState : gameJournalEntryState;
	import var newState : gameJournalEntryState;
	import var notifyOption : JournalNotifyOption;
	import var changeType : JournalChangeType;
}

importonly struct gameJournalQuestTrackedData
{
	import var entryPath : gameJournalPath;
	import var entryType : CName;
	import var state : gameJournalEntryState;
}

