import { EventEmitter, OnInit } from '@angular/core';
import { FormControl, ValidatorFn } from '@angular/forms';
import { MatSelectChange } from '@angular/material/select';
import { PaymentsService, StripePaymentMethodRepresentation, TierSubscriptionRepresentation, TierSubscriptionsService } from '@aztrix/sdk';
import { BehaviorSubject, Observable } from 'rxjs';
import * as i0 from "@angular/core";
export declare class ConfirmTierPaymentComponent implements OnInit {
    private _paymentsService;
    private _tierSubscriptions;
    tierSubscription: TierSubscriptionRepresentation;
    confirm: EventEmitter<{
        paymentMethod: StripePaymentMethodRepresentation;
        promoCode: string;
    }>;
    cancel: EventEmitter<void>;
    private _stripeCard;
    _paymentMethods$: Observable<StripePaymentMethodRepresentation[]>;
    _emptyPaymentMethod: StripePaymentMethodRepresentation;
    _paymentMethodControl: FormControl<StripePaymentMethodRepresentation>;
    _loading$: BehaviorSubject<boolean>;
    promoCodeControl: FormControl<string | null>;
    discount: any;
    showPromoCode: boolean;
    constructor(_paymentsService: PaymentsService, _tierSubscriptions: TierSubscriptionsService);
    ngOnInit(): void;
    changeMethod(event: MatSelectChange): void;
    errorChanges(error: any): void;
    pay(): void;
    applyPromotionCode(): void;
    blur(): void;
    validatePaymentMethod(): ValidatorFn;
    static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmTierPaymentComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ConfirmTierPaymentComponent, "ax-confirm-tier-payment", never, { "tierSubscription": { "alias": "tierSubscription"; "required": false; }; }, { "confirm": "confirm"; "cancel": "cancel"; }, never, never, true, never>;
}
