import { OnChanges, SimpleChanges } from '@angular/core';
import { BilledProduct, PricingTier } from '@vendasta/billing';
import { MarketplaceBillingFrequency, DisplayPriceService } from '@vendasta/core/shared';
import { Pricing, Price } from './pricing';
import { BehaviorSubject, Observable } from 'rxjs';
import { TranslateService } from '@ngx-translate/core';
export declare class VaPricingComponent implements OnChanges {
    private translateService;
    private displayPriceService;
    pricing: Pricing;
    billedProduct: BilledProduct;
    wrapFrequency: boolean;
    isAddon: boolean;
    hasVerifiedContract: boolean;
    highlightPrice: boolean;
    loaded: boolean;
    showAllPrices: boolean;
    pricing$$: BehaviorSubject<Pricing>;
    billedProduct$$: BehaviorSubject<BilledProduct>;
    hasVerifiedContract$$: BehaviorSubject<boolean>;
    isFree$: Observable<boolean>;
    shouldContactSales$: Observable<boolean>;
    isFlatPrice$: Observable<boolean>;
    pricingTierData$: Observable<{
        isStartingPrice: boolean;
        pricingTierString: string;
        pricingTierForProduct: string;
        pricingTierForAddon: string;
        priceStringForTier: string;
        priceStringForTierWithoutFreq: string;
    }[]>;
    priceData$: Observable<{
        isStartingPrice: boolean;
        priceStringForPricingWithoutFrequency: string;
        priceStringForPricingWithFrequency: string;
        frequencyString: string;
    }[]>;
    commitmentMessage$: Observable<string>;
    get pricing$(): Observable<Pricing>;
    get billedProduct$(): Observable<BilledProduct>;
    get hasVerifiedContract$(): Observable<boolean>;
    constructor(translateService: TranslateService, displayPriceService: DisplayPriceService);
    ngOnChanges(changes: SimpleChanges): void;
    buildPricingTierString(tier: PricingTier): Observable<string>;
    buildPricingTierForProduct(tier: PricingTier, frequency?: string): Observable<string>;
    buildPricingTierForAddon(tier: PricingTier): Observable<string>;
    buildPriceStringForPricing(price: Price, currency: string, excludeFrequency: boolean, canIncludeStartingAtPrefix: boolean): Observable<string>;
    buildPriceStringForTier(tier: PricingTier, frequency?: MarketplaceBillingFrequency, isStartingPrice?: boolean): Observable<string>;
    buildFrequencyString(frequency?: string): Observable<string>;
    buildCommitmentMessage(): Observable<string>;
}
