/**
 * Copyright (c) 2020-present, Goldman Sachs
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import { DataCubeGridState } from './grid/DataCubeGridState.js';
import { DataCubeEditorState } from './editor/DataCubeEditorState.js';
import { ActionState } from '@finos/legend-shared';
import { DataCubeSnapshotService } from '../services/DataCubeSnapshotService.js';
import { DataCubeInfoState } from './DataCubeInfoState.js';
import { DataCubeFilterEditorState } from './filter/DataCubeFilterEditorState.js';
import { DataCubeExtendManagerState } from './extend/DataCubeExtendManagerState.js';
import type { DataCubeState } from '../DataCubeState.js';
import { type DataCubeEngine } from '../core/DataCubeEngine.js';
import type { DataCubeSource } from '../core/model/DataCubeSource.js';
import { DataCubeSpecification } from '../core/model/DataCubeSpecification.js';
import { DataCubeTaskService } from '../services/DataCubeTaskService.js';
import type { DataCubeLogService } from '../services/DataCubeLogService.js';
import { type DataCubeLayoutService } from '../services/DataCubeLayoutService.js';
import { type DataCubeAlertService } from '../services/DataCubeAlertService.js';
import type { DataCubeSettingService } from '../services/DataCubeSettingService.js';
export declare class DataCubeViewState {
    readonly dataCube: DataCubeState;
    readonly engine: DataCubeEngine;
    readonly logService: DataCubeLogService;
    readonly taskService: DataCubeTaskService;
    readonly layoutService: DataCubeLayoutService;
    readonly alertService: DataCubeAlertService;
    readonly settingService: DataCubeSettingService;
    readonly snapshotService: DataCubeSnapshotService;
    readonly info: DataCubeInfoState;
    readonly editor: DataCubeEditorState;
    readonly grid: DataCubeGridState;
    readonly filter: DataCubeFilterEditorState;
    readonly extend: DataCubeExtendManagerState;
    readonly initializeState: ActionState;
    readonly processCacheState: ActionState;
    private _source?;
    private _initialSource?;
    private _initialSpecification?;
    constructor(dataCube: DataCubeState);
    getInitialSource(): DataCubeSource | undefined;
    generateSpecification(): Promise<DataCubeSpecification>;
    get source(): DataCubeSource;
    updateName(name: string): void;
    applySpecification(specification: DataCubeSpecification): Promise<void>;
    initializeCache(): Promise<void>;
    disposeCache(): Promise<void>;
    initialize(specification: DataCubeSpecification): Promise<void>;
    dispose(): void;
}
//# sourceMappingURL=DataCubeViewState.d.ts.map