import { BreakpointObserver } from '@angular/cdk/layout';
import { AfterViewInit, EventEmitter, OnChanges, OnInit } from '@angular/core';
import { MatTabChangeEvent } from '@angular/material/tabs';
import { ActivatedRoute, Router } from '@angular/router';
import { TranslateService } from '@ngx-translate/core';
import { ProductPricing } from '@vendasta/billing';
import { EnvironmentServiceInterface } from '@vendasta/core';
import { ImageTransformationService } from '@vendasta/image-transformation';
import { AppEditionsMarketing, ProductCost } from '@vendasta/marketplace-apps/v1';
import { ProductAnalyticsService } from '@vendasta/product-analytics';
import { Observable, ReplaySubject } from 'rxjs';
import { MarketplaceAppData } from '../shared/marketplace-app-data';
import { Product } from '../shared/product';
import { HeaderActionType } from '../store-item';
import { MarketingType, SelectedTab } from './product-details-v2.interface';
import * as i0 from "@angular/core";
export interface EditionActionClickEvent {
    appId: string;
    editionId: string;
}
export declare class VaProductDetailsV2Component implements OnInit, AfterViewInit, OnChanges {
    private imageTransformationService;
    private translateService;
    private environmentService;
    private router;
    private route;
    private snowplowService;
    product: Product;
    partnerId: string;
    parentProduct: Product;
    appTags: MarketplaceAppData[];
    businessCountryCode: string;
    marketingType: MarketingType;
    billingPrice: ProductPricing;
    marketplaceCost: ProductCost;
    editionsMarketing: AppEditionsMarketing[];
    editionOrder: string[];
    headerActionType: HeaderActionType;
    isEditionActionUsed: boolean;
    productDependenciesFeatureFlag: string;
    headerActionClick: EventEmitter<any>;
    isHeaderActionUsed: boolean;
    addonSelected: EventEmitter<string>;
    isAddonSelectedUsed: boolean;
    contactActionClick: EventEmitter<any>;
    isContactActionUsed: boolean;
    editionActionClick: EventEmitter<EditionActionClickEvent>;
    tabState$: Observable<{
        tab: SelectedTab;
        editionsTabVisible: boolean;
    }>;
    updateState$$: ReplaySubject<null>;
    chipLabels: string[];
    appTagArr: string[];
    srcsetHeaderImage: string;
    mobileLayout: boolean;
    overflowTagsList: string;
    showMoreChip: boolean;
    moreChipPosition: string;
    hiddenChipNum: number;
    moreList: any[];
    onlyMore: boolean;
    tabScrollHack: string;
    tabRef: any;
    ownedAndOperated: string[];
    isOO: boolean;
    readonly defaultHeaderImage = "https://firebasestorage.googleapis.com/v0/b/partner-central-demo.appspot.com/o/no-banner.png?alt=media&token=e5299062-ea20-498b-b37e-39f3cf8a78a8";
    constructor(imageTransformationService: ImageTransformationService, breakpointObserver: BreakpointObserver, translateService: TranslateService, environmentService: EnvironmentServiceInterface, router: Router, route: ActivatedRoute, snowplowService: ProductAnalyticsService);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnChanges(): void;
    setOwnedOperatedList(): void;
    getTags(): string[];
    onResize(event: any): void;
    detectWrap(className: any): void;
    detectMoreClip(): boolean;
    isProductEnabled(): boolean;
    isProductSuspended(): boolean;
    getEnableButtonText(): string;
    checkButtonDisable(): boolean;
    onHeaderActionClicked(): void;
    onEditionActionClicked(product: {
        appId: string;
        editionId: string;
    }): void;
    onTabChanged(event?: MatTabChangeEvent): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<VaProductDetailsV2Component, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<VaProductDetailsV2Component, "app-product-details-v2", never, { "product": "product"; "partnerId": "partnerId"; "parentProduct": "parentProduct"; "appTags": "appTags"; "businessCountryCode": "businessCountryCode"; "marketingType": "marketingType"; "billingPrice": "billingPrice"; "marketplaceCost": "marketplaceCost"; "editionsMarketing": "editionsMarketing"; "editionOrder": "editionOrder"; "headerActionType": "headerActionType"; "isEditionActionUsed": "isEditionActionUsed"; "productDependenciesFeatureFlag": "productDependenciesFeatureFlag"; }, { "headerActionClick": "headerActionClick"; "addonSelected": "addonSelected"; "contactActionClick": "contactActionClick"; "editionActionClick": "editionActionClick"; }, never, never>;
}
