export const EventTypes = Object.freeze({
    Store: Object.freeze({
        info: 'storebackendinfo',
        initEnvironment: 'configstoreinitenv',
        Global: Object.freeze({
            setEnv: 'storesetgloablenvironment',
            getEnv: 'storegetgloablenvironment',
        }),
        Auth: Object.freeze({
            isAuthenticated: 'storeaisauthenticated',
            authenticate: 'storeauthenticate',
            getToken: 'storeauthgettoken',
        }),
        File: Object.freeze({
            list: 'storefileslist',
            listShared: 'storefileslistshared',
            create: 'storefilescreate',
            createDefault: 'storefilescreatedefault',
            read: 'storefilesread',
            patch: 'storefilespatch',
            delete: 'storefilesdelete',
            patchUsers: 'storefilespatchusers',
            listUsers: 'storefileslistusers',
            breadcrumbs: 'storefilesbreadcrumbs',
        }),
        User: Object.freeze({
            me: 'storeuserme',
            list: 'storeuserlist',
            read: 'storeuserread',
        }),
        History: Object.freeze({
            create: 'storehistorycreate',
            createBulk: 'storehistorycreatebulk',
            list: 'storehistorylist',
            delete: 'storehistorydelete',
            deleteBulk: 'storehistorydeletebulk',
            read: 'storehistoryread',
            clearSpace: 'storehistoryclearspace',
            clearProject: 'storehistoryclearproject',
            clearRequest: 'storehistoryclearrequest',
        }),
        ProjectRuns: Object.freeze({
            add: 'storeprojectrunsadd',
            read: 'storeprojectrunsread',
            list: 'storeprojectrunslist',
            delete: 'storeprojectrunsdelete',
            deleteBulk: 'storeprojectrunsdeletebulk',
            clearSpace: 'storeprojectrunsclearspace',
            clearProject: 'storeprojectrunsclearproject',
            clearParent: 'storeprojectrunsclearparent',
        }),
    }),
    Config: Object.freeze({
        /**
         * Properties stored in a session storage.
         */
        Session: Object.freeze({
            set: 'configsessionset',
            get: 'configsessionget',
            delete: 'configsessiondelete',
        }),
        /**
         * Properties stored in a local storage.
         */
        Local: Object.freeze({
            set: 'configlocalset',
            get: 'configlocalget',
            delete: 'configlocaldelete',
        }),
        Telemetry: Object.freeze({
            set: 'configtelemetryset',
            read: 'configtelemetryread',
            State: {
                set: 'configtelemetrystateset',
            },
        }),
    }),
    Navigation: Object.freeze({
        // inter-app navigation
        App: Object.freeze({
            runHttpProject: 'navapprunhttpproject',
            runApiClient: 'navapprunapiclient',
            runSchemaDesigner: 'navapprunschemadesigner',
            runTelemetry: 'navappruntelemetry',
        }),
        Store: Object.freeze({
            config: 'navigationstoreconfig',
            authenticate: 'navigationstoreauthenticate',
        }),
    }),
    HttpProject: Object.freeze({
        changed: 'httpprojectchange',
        State: Object.freeze({
            nameChanged: 'httpprojectnamechange',
        }),
        Ui: Object.freeze({
            // HTTP project's UI data
            delete: 'appdatauiprojectdelete',
            HttpRequest: Object.freeze({
                set: 'appdatauiprojectrequestset',
                get: 'appdatauiprojectrequestget',
                getBulk: 'appdatauiprojectrequestgetbulk',
                delete: 'appdatauiprojectrequestdelete',
            }),
        }),
    }),
    SchemaDesign: Object.freeze({
        changed: 'schemadesignchange',
        State: Object.freeze({
            nameChanged: 'schemadesignnamechange',
        }),
    }),
    // HTTP Client's application data
    HttpClient: Object.freeze({
        Workspace: Object.freeze({
            read: 'httpclientwsread',
            write: 'httpclientwswrite',
            append: 'httpclientwsappend',
            triggerWrite: 'httpclientwstriggerwrite',
            State: Object.freeze({
                write: 'httpclientwsstatewrite',
            }),
        }),
        Model: Object.freeze({
            destroy: 'modeldestroy',
            destroyed: 'modeldestroyed',
            restored: 'modelrestored',
            UrlHistory: Object.freeze({
                add: 'modelclienturlhistoryadd',
                query: 'modelclienturlhistoryquery',
                delete: 'modelclienturlhistorydelete',
                clear: 'modelclienturlhistoryclear',
                State: Object.freeze({
                    add: 'modelclienturlhistorystateadd',
                    clear: 'modelclienturlhistorystateclear',
                    delete: 'modelclienturlhistorystatedelete',
                }),
            }),
            WsHistory: Object.freeze({
                add: 'modelclientwshistoryadd',
                query: 'modelclientwshistoryquery',
                delete: 'modelclientwshistorydelete',
                clear: 'modelclientwshistoryclear',
                State: Object.freeze({
                    add: 'modelclientwsstatehistoryadd',
                    clear: 'modelclientwsstatehistoryclear',
                    delete: 'modelclientwsstatehistorydelete',
                }),
            }),
        }),
    }),
    // common events for HTTP editors
    Http: Object.freeze({
        Request: Object.freeze({
            send: 'requestsend',
            rename: 'requestrename',
            State: Object.freeze({
                urlChange: 'requeststateurlchange',
                contentTypeChange: 'requeststatecontenttypechange',
            }),
        }),
    }),
    // Filesystem access
    Filesystem: Object.freeze({
        requestSaveFile: 'filesystemrequestsavefile',
        requestOpenFile: 'filesystemrequestopenfile',
        writeFile: 'filesystemwritefile',
        readFile: 'filesystemreadfile',
    }),
    Intent: Object.freeze({
        startActivity: 'startactivity',
        startActivityForResult: 'startactivityforresult',
    }),
});
//# sourceMappingURL=EventTypes.js.map