import { EventEmitter, OnInit } from '@angular/core';
import { TranslateService } from '@ngx-translate/core';
import { BillingService, ProductPricing } from '@vendasta/billing';
import { FeatureFlagService } from '@vendasta/partner';
import { AppEditionsMarketing, EditionsService } from '@vendasta/marketplace-apps/v1';
import { SnackbarService } from '@vendasta/galaxy/snackbar-service';
import { App, AppDataService, PartnerApiService } from '@vendasta/marketplace-apps';
import { Addon, AddonService, StoreProduct, StoreService } from '@vendasta/marketplace-packages';
import { Observable } from 'rxjs';
import { EditionActionClickEvent } from '../product-details-v2/product-details-v2.component';
import { MarketingType } from '../product-details-v2/product-details-v2.interface';
import { MarketplaceAppData } from '../shared/marketplace-app-data';
import { Product } from '../shared/product';
import { HeaderActionType } from '../store-item';
import * as i0 from "@angular/core";
export declare class MarketplaceProductComponent implements OnInit {
    private partnerApiService;
    private appDataService;
    private storeService;
    private billingService;
    private editionsService;
    private addonsService;
    private snackbarService;
    private translate;
    private featureFlagService;
    productId: string;
    partnerId: string;
    marketId: string;
    headerActionType: HeaderActionType;
    productDependenciesFeatureFlag: string;
    headerActionClick: EventEmitter<null>;
    addonClick: EventEmitter<string>;
    editionActionClick: EventEmitter<EditionActionClickEvent>;
    app$: Observable<App>;
    product$: Observable<Product>;
    appData$: Observable<MarketplaceAppData[]>;
    pricing$: Observable<{
        [sku: string]: ProductPricing;
    }>;
    editionsMarketing$: Observable<AppEditionsMarketing[]>;
    featureFlags$: Observable<any>;
    marketingType: typeof MarketingType;
    isEditionActionUsed: boolean;
    constructor(partnerApiService: PartnerApiService, appDataService: AppDataService, storeService: StoreService, billingService: BillingService, editionsService: EditionsService, addonsService: AddonService, snackbarService: SnackbarService, translate: TranslateService, featureFlagService: FeatureFlagService);
    ngOnInit(): void;
    convertAppToProduct(app: App, addons: Addon[]): Product;
    convertStoreProductToAddon(appId: string, storeProduct: StoreProduct): Addon;
    handleHeaderButtonClick(): void;
    handleAddonClick(addonId: string): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<MarketplaceProductComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<MarketplaceProductComponent, "marketplace-product", never, { "productId": "productId"; "partnerId": "partnerId"; "marketId": "marketId"; "headerActionType": "headerActionType"; "productDependenciesFeatureFlag": "productDependenciesFeatureFlag"; }, { "headerActionClick": "headerActionClick"; "addonClick": "addonClick"; "editionActionClick": "editionActionClick"; }, never, never>;
}
