export interface IStateStore { has ( key ) : boolean ; set < T > ( key , data ) : Promise < void > ; get < T > ( key ) : T | undefined ; } export const IStateStoreFactory = Symbol . for ( 'IStateStoreFactory' ) ; export const GlobalStateStore = 'global' ; export const WorkspaceStateStore = 'workspace' ; export interface IStateStoreFactory { createStore ( ) : IStateStore ; }