namespace KGS { export namespace SGF { export interface Property { name : string ; } export interface TextProperty extends Property { text : string ; } export interface ColourProperty extends Property { color : "white" | "black" ; } export interface LocationProperty extends KGS . Location , Property { } export interface LocationLocationProperty extends Property { loc : KGS . Coordinates ; loc2 : KGS . Coordinates ; } export interface IntProperty extends Property { int : number ; } export interface FloatProperty extends Property { float : number ; } export const _RULES = "RULES" ; export interface RULES extends Property , KGS . GameRules { } export const _GAMENAME = "GAMENAME" ; export interface GAMENAME extends TextProperty { } export const _DATE = "DATE" ; export interface DATE extends TextProperty { } export const _COPYRIGHT = "COPYRIGHT" ; export interface COPYRIGHT extends TextProperty { } export const _GAMECOMMENT = "GAMECOMMENT" ; export interface GAMECOMMENT extends TextProperty { } export const _EVENT = "EVENT" ; export interface EVENT extends TextProperty { } export const _ROUND = "ROUND" ; export interface ROUND extends TextProperty { } export const _PLACE = "PLACE" ; export interface PLACE extends TextProperty { } export const _ANNOTATOR = "ANNOTATOR" ; export interface ANNOTATOR extends TextProperty { } export const _SOURCE = "SOURCE" ; export interface SOURCE extends TextProperty { } export const _TRANSCRIBER = "TRANSCRIBER" ; export interface TRANSCRIBER extends TextProperty { } export const _COMMENT = "COMMENT" ; export interface COMMENT extends TextProperty { } export const _RESULT = "RESULT" ; export interface RESULT extends TextProperty { } export const _UNKNOWN = "UNKNOWN" ; export interface UNKNOWN extends TextProperty { } export const _SETWHOSEMOVE = "SETWHOSEMOVE" ; export interface SETWHOSEMOVE extends ColourProperty { } export const _MOVENUMBER = "MOVENUMBER" ; export interface MOVENUMBER extends IntProperty { } export const _MOVENAME = "MOVENAME" ; export interface MOVENAME extends TextProperty { } export const _CIRCLE = "CIRCLE" ; export interface CIRCLE extends LocationProperty { } export const _TRIANGLE = "TRIANGLE" ; export interface TRIANGLE extends LocationProperty { } export const _SQUARE = "SQUARE" ; export interface SQUARE extends LocationProperty { } export const _CROSS = "CROSS" ; export interface CROSS extends LocationProperty { } export const _DEAD = "DEAD" ; export interface DEAD extends LocationProperty { } export const _PHANTOMCLEAR = "PHANTOMCLEAR" ; export interface PHANTOMCLEAR extends LocationProperty { } export const _ARROW = "ARROW" ; export interface ARROW extends LocationLocationProperty { } export const _LINE = "LINE" ; export interface LINE extends LocationLocationProperty { } export const _LABEL = "LABEL" ; export interface LABEL extends LocationProperty , TextProperty { } export const _PLAYERNAME = "PLAYERNAME" ; export interface PLAYERNAME extends ColourProperty , TextProperty { } export const _PLAYERTEAM = "PLAYERTEAM" ; export interface PLAYERTEAM extends ColourProperty , TextProperty { } export const _MOVE = "MOVE" ; export interface MOVE extends ColourProperty , LocationProperty { } export const _ADDSTONE = "ADDSTONE" ; export interface ADDSTONE extends ColourProperty , LocationProperty { } export const _TERRITORY = "TERRITORY" ; export interface TERRITORY extends ColourProperty , LocationProperty { } export const _TIMELEFT = "TIMELEFT" ; export interface TIMELEFT extends ColourProperty , FloatProperty { } export const _DONESCORING = "DONESCORING" ; export interface DONESCORING extends Property { white : boolean ; black : boolean ; } export interface NodeEvent { type : string ; nodeId : number ; } export const _PROP_ADDED = "PROP_ADDED" ; export interface PROP_ADDED extends NodeEvent { prop : Property ; } export const _PROP_REMOVED = "PROP_REMOVED" ; export interface PROP_REMOVED extends NodeEvent { prop : Property ; } export const _PROP_CHANGED = "PROP_CHANGED" ; export interface PROP_CHANGED extends NodeEvent { prop : Property ; } export const _PROP_GROUP_ADDED = "PROP_GROUP_ADDED" ; export interface PROP_GROUP_ADDED extends NodeEvent { props : Property [ ] ; } export const _PROP_GROUP_REMOVED = "PROP_GROUP_REMOVED" ; export interface PROP_GROUP_REMOVED extends NodeEvent { props : Property [ ] ; } export const _CHILD_ADDED = "CHILD_ADDED" ; export interface CHILD_ADDED extends NodeEvent { childNodeId : number ; position ? : number ; } export const _CHILDREN_REORDERED = "CHILDREN_REORDERED" ; export interface CHILDREN_REORDERED extends NodeEvent { children : number [ ] ; } export const _ACTIVATED = "ACTIVATED" ; export interface ACTIVATED extends NodeEvent { prevNodeId ? : number ; } } }