class GlobalState {
  private data: any;

  constructor() {
    this.data = {
      HEADER_LAYOUT: {
        height: 0,
        width: 0,
        x: 0,
        y: 0,
      },
    };
  }

  setState(key: string, value: any) {
    this.data[key] = value;
  }

  getState(key: string, defaultValue: any = undefined) {
    return this.data[key] || defaultValue;
  }
}

export interface GlobalStateType {
  getState: (key: string, defaultValue?: any) => any,
  setState: (key: string, value: any) => void,
}

export default new GlobalState();
