/**
 * 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 { type Class, type GraphFetchTree, type GraphManagerState, type PackageableElement, type RawLambda, type Runtime, MILESTONING_STEREOTYPE, ParameterValue } from '@finos/legend-graph';
import { type EditorExtensionState, type EditorStore, ElementEditorState } from '@finos/legend-application-studio';
import type { DataSpaceExecutionContext } from '@finos/legend-extension-dsl-data-space/graph';
import { DataQualityGraphFetchTreeState } from './DataQualityGraphFetchTreeState.js';
import { type DataQualityRootGraphFetchTree } from '../../graph/metamodel/pure/packageableElements/data-quality/DataQualityGraphFetchTree.js';
import { type GeneratorFn, ActionState } from '@finos/legend-shared';
import { type GenericLegendApplicationStore } from '@finos/legend-application';
import { DataQualityResultState } from './DataQualityResultState.js';
import { DataQualityQueryBuilderState } from './DataQualityQueryBuilderState.js';
export declare enum DATA_QUALITY_TAB {
    FILTER = "Filter ",
    CONSTRAINTS_SELECTION = "Constraints Selection",
    TRIAL_RUNS = "Trial Runs"
}
export declare function buildExtensionState(editorStore: EditorStore, dataQualityState: DataQualityState): EditorExtensionState | undefined;
export declare abstract class DataQualityState extends ElementEditorState {
    readonly applicationStore: GenericLegendApplicationStore;
    readonly graphManagerState: GraphManagerState;
    readonly loadDataSpacesState: ActionState;
    readonly onExecutionContextChange?: ((val: DataSpaceExecutionContext) => void) | undefined;
    readonly onRuntimeChange?: ((val: Runtime) => void) | undefined;
    readonly extensionState: EditorExtensionState | undefined;
    selectedTab: string;
    executionContext: DataSpaceExecutionContext;
    dataQualityGraphFetchTreeState: DataQualityGraphFetchTreeState;
    structuralValidationsGraphFetchTreeState: DataQualityGraphFetchTreeState;
    showRuntimeSelector: boolean;
    dataQualityQueryBuilderState: DataQualityQueryBuilderState;
    resultState: DataQualityResultState;
    showStructuralValidations: boolean;
    showDateSelection: boolean;
    processingDate: string;
    businessDate: string;
    constructor(editorStore: EditorStore, element: PackageableElement);
    abstract get constraintsConfigurationElement(): PackageableElement;
    setShowStructuralValidations(val: boolean): void;
    setShowDateSelection(val: boolean): void;
    setProcessingDate(val: string): void;
    setBusinessDate(val: string): void;
    get tabsToShow(): string[];
    get currentClassMilestoningStrategy(): MILESTONING_STEREOTYPE | undefined;
    get isCurrentClassMilestoned(): boolean;
    get lambdaParameterValues(): ParameterValue[];
    fetchStructuralValidations(): GeneratorFn<void>;
    initializeFilterState(filterLambda: RawLambda | undefined): void;
    initializeGraphFetchTreeState(tree: DataQualityRootGraphFetchTree | undefined): void;
    get areNestedConstraintsSelected(): boolean;
    checkConstraintsSelectedAtNode(tree: GraphFetchTree): boolean;
    updateFilterElement: () => void;
    initializeStructuralValidationsGraphFetchTreeState(tree: DataQualityRootGraphFetchTree | undefined): void;
    get sideBarClassName(): string | undefined;
    changeSourceElement(val: Class): void;
    updateElementOnClassChange(): void;
    setExecutionContext(val: DataSpaceExecutionContext): void;
    get isMappingReadOnly(): boolean;
    get isRuntimeReadOnly(): boolean;
    get isQuerySupported(): boolean;
    setSelectedTab(tab: string): void;
    setShowRuntimeSelector(val: boolean): void;
    get hashCode(): string;
}
//# sourceMappingURL=DataQualityState.d.ts.map