/**
 * Copyright (c) 2025-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 { V1_EntitlementsLakehouseEnvironmentType } from '@finos/legend-graph';
import type { ProductCardState } from './lakehouse/dataProducts/ProductCardState.js';
export declare enum LegendMarketplaceEnv {
    PRODUCTION = "PRODUCTION",
    PRODUCTION_PARALLEL = "PRODUCTION_PARALLEL",
    DEVELOPMENT = "DEVELOPMENT"
}
export declare abstract class LegendMarketplaceEnvState {
    abstract key: LegendMarketplaceEnv;
    abstract lakehouseEnvironment: V1_EntitlementsLakehouseEnvironmentType;
    get label(): string;
    abstract get adjacentEnv(): LegendMarketplaceEnv | undefined;
    abstract supportsLegacyDataProducts(): boolean;
    abstract supportedClassifications(): (V1_EntitlementsLakehouseEnvironmentType | undefined)[];
    filterDataProduct(productCardState: ProductCardState): boolean;
}
export declare class ProdLegendMarketplaceEnvState extends LegendMarketplaceEnvState {
    key: LegendMarketplaceEnv;
    lakehouseEnvironment: V1_EntitlementsLakehouseEnvironmentType;
    get label(): string;
    get adjacentEnv(): LegendMarketplaceEnv;
    supportsLegacyDataProducts(): boolean;
    supportedClassifications(): V1_EntitlementsLakehouseEnvironmentType[];
}
export declare class ProdParallelLegendMarketplaceEnvState extends LegendMarketplaceEnvState {
    key: LegendMarketplaceEnv;
    lakehouseEnvironment: V1_EntitlementsLakehouseEnvironmentType;
    get label(): string;
    get adjacentEnv(): LegendMarketplaceEnv;
    supportsLegacyDataProducts(): boolean;
    supportedClassifications(): V1_EntitlementsLakehouseEnvironmentType[];
}
export declare class DevelopmentLegendMarketplaceEnvState extends LegendMarketplaceEnvState {
    key: LegendMarketplaceEnv;
    lakehouseEnvironment: V1_EntitlementsLakehouseEnvironmentType;
    get label(): string;
    get adjacentEnv(): LegendMarketplaceEnv;
    supportsLegacyDataProducts(): boolean;
    supportedClassifications(): (V1_EntitlementsLakehouseEnvironmentType | undefined)[];
}
//# sourceMappingURL=LegendMarketplaceEnvState.d.ts.map