import { ElementRef, EventEmitter, OnInit, OnChanges, SimpleChanges, OnDestroy, TemplateRef } from '@angular/core';
import { Subscription } from 'rxjs';
import { StripeElements, StripeCardNumberElement, StripeCardNumberElementOptions, StripeCardNumberElementChangeEvent } from '@stripe/stripe-js';
import { NgxStripeElementLoadingTemplateDirective } from '../directives/stripe-element-loading-template.directive';
import { StripeCardGroupDirective } from '../directives/card-group.directive';
import { StripeElementsDirective } from '../directives/elements.directive';
import { StripeElementsService } from '../services/stripe-elements.service';
import * as i0 from "@angular/core";
export declare class StripeCardNumberComponent implements OnInit, OnChanges, OnDestroy {
    stripeElementsService: StripeElementsService;
    cardGroup: StripeCardGroupDirective;
    private elementsProvider;
    loadingTemplate?: TemplateRef<NgxStripeElementLoadingTemplateDirective>;
    stripeElementRef: ElementRef;
    element: StripeCardNumberElement;
    containerClass: string;
    options: Partial<StripeCardNumberElementOptions>;
    load: EventEmitter<StripeCardNumberElement>;
    blur: EventEmitter<void>;
    change: EventEmitter<StripeCardNumberElementChangeEvent>;
    focus: EventEmitter<void>;
    ready: EventEmitter<void>;
    escape: EventEmitter<void>;
    elements: StripeElements;
    elementsSubscription: Subscription;
    constructor(stripeElementsService: StripeElementsService, cardGroup: StripeCardGroupDirective, elementsProvider: StripeElementsDirective);
    ngOnChanges(changes: SimpleChanges): Promise<void>;
    ngOnInit(): void;
    ngOnDestroy(): void;
    update(options: Partial<StripeCardNumberElementOptions>): void;
    /**
     * @deprecated
     */
    getCardNumber(): StripeCardNumberElement;
    private setupElement;
    static ɵfac: i0.ɵɵFactoryDeclaration<StripeCardNumberComponent, [null, { optional: true; }, { optional: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<StripeCardNumberComponent, "ngx-stripe-card-number", never, { "containerClass": { "alias": "containerClass"; "required": false; }; "options": { "alias": "options"; "required": false; }; }, { "load": "load"; "blur": "blur"; "change": "change"; "focus": "focus"; "ready": "ready"; "escape": "escape"; }, ["loadingTemplate"], never, true, never>;
}
