/**
 * 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 { LegendMarketplaceBaseStore } from '../LegendMarketplaceBaseStore.js';
import { type GeneratorFn, ActionState } from '@finos/legend-shared';
import { DataSpaceViewerState } from '@finos/legend-extension-dsl-data-space/application';
import { DataProductDataAccessState, DataProductViewerState, TerminalProductDataAccessState, TerminalProductViewerState } from '@finos/legend-extension-dsl-data-product';
export declare class LegendMarketplaceProductViewerStore {
    readonly marketplaceBaseStore: LegendMarketplaceBaseStore;
    dataProductViewer: DataProductViewerState | undefined;
    dataProductDataAccess: DataProductDataAccessState | undefined;
    terminalProductViewer: TerminalProductViewerState | undefined;
    terminalProductDataAccess: TerminalProductDataAccessState | undefined;
    legacyDataProductViewer: DataSpaceViewerState | undefined;
    readonly loadingProductState: ActionState;
    constructor(marketplaceBaseStore: LegendMarketplaceBaseStore);
    setDataProductViewer(val: DataProductViewerState | undefined): void;
    setDataProductDataAccess(val: DataProductDataAccessState | undefined): void;
    setTerminalProductViewer(val: TerminalProductViewerState | undefined): void;
    setTerminalProductDataAccess(val: TerminalProductDataAccessState | undefined): void;
    setLegacyDataProductViewer(val: DataSpaceViewerState | undefined): void;
    initWithTerminal(terminalId: string): GeneratorFn<void>;
    initWithProduct(dataProductId: string, deploymentId: number, tokenProvider: () => string | undefined): GeneratorFn<void>;
    /**
     * This is a fallback to support the old data product URL with GAV and path.
     * We check to see if the data product has been deployed, and if so, we redirect
     * to the new URL format with data product ID and deployment ID. If no deploymentId
     * exists (meaning nativeModelAccess only, no access point groups), we render the
     * nativeModelAccess UI directly.
     *
     * @param gav The GAV coordinates of the product.
     * @param path The path to the product.
     */
    initWithSDLCProduct(gav: string, path: string): GeneratorFn<void>;
    initWithLegacyProduct(gav: string, path: string): GeneratorFn<void>;
}
//# sourceMappingURL=LegendMarketplaceProductViewerStore.d.ts.map