define([], () => ({
  CELL_METADATA: {
    IS_MSTR: 'mstr-cell',
    CODE_HIDDEN: 'mstr-cell-code-hidden',
    CREATED_DATE: 'mstr-cell-creation',
    DATA: 'mstr-cell-data',
    TABLE_HIDDEN: 'mstr-cell-table-hidden',
    TYPE: 'mstr-cell-type',
  },
  MESSAGE_TYPES: {
    applyDataframeChangesSteps: 'apply-dataframe-changes-steps',
    connectionDataUpdate: 'connection-data-update',
    createExportCell: 'create-export-cell',
    createImportCell: 'create-import-cell',
    createUpdateCell: 'create-update-cell',
    gatherDataframeContent: 'gather-dataframe-content',
    initializeConnectorUi: 'initialize-connector-ui',
    refreshExportDetails: 'refresh-export-details',
    uiScreenChange: 'ui-screen-change',
    updateEnvironmentsList: 'update-environments-list',
    updateProjectsList: 'update-projects-list',
    closeUI: 'close-ui',
    consoleMSG: 'console-msg',
  },
  RESPONSE_TYPES: {
    UPDATE_IMPORT: 'update_import',
    UPDATE_EXPORT: 'update_export',
    UPDATE_UPDATE: 'update_update',
    PREPARE_EXPORT: 'prepare_export',
    PREPARE_UPDATE: 'prepare_update',
  },
  GLOBAL_CONSTANTS: {
    get ORIGIN() { return window.location.origin; },
    get EXTENSION_MAIN_FOLDER() { return '/nbextensions/mstr_jupyter'; },
    get EXTENSION_PATHNAME() { return `${this.EXTENSION_MAIN_FOLDER}/mstr-connector/build/index.html`; },
    get CONNECTOR_ADDRESS() { return `${this.ORIGIN}${this.EXTENSION_PATHNAME}`; },
    get MSTR_ENV_VARIABLE_NAME() { return 'mstrio_env'; },
  },
}));
