import { AfterViewInit, ElementRef, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
import { PayPalConfig } from '../models/paypal-models';
export declare class NgxPaypalComponent implements OnChanges, AfterViewInit, OnDestroy {
    /**
     * Configuration for paypal.
     */
    config: PayPalConfig;
    /**
     * Indicates if global configuration (provided via 'forRoot') is used
     */
    useGlobalConfig: boolean;
    /**
     * Container for paypal script
     */
    paypalScriptElem: ElementRef;
    /**
     * Used for indicating delayed rendered if container is not yet ready in DOM
     */
    private registerPayPalScriptWhenContainerIsReady;
    /**
     * Holds current container element
     */
    private _payPalButtonContainerElem?;
    payPalButtonContainerElem: ElementRef;
    /**
     * Polling interval if paypal script is pending
     */
    private readonly defaultPollInterval;
    /**
     * Polling will stop after polling reaches this number
     */
    private readonly maximumPollWaitTime;
    /**
    * Name of the global variable where paypal is stored
    */
    private readonly paypalWindowName;
    /**
     * Name of the global variable indicating that script was initiated (added to page)
     */
    private readonly paypalWindowScriptInitiated;
    /**
     * PayPal integration script url
     */
    private readonly paypalScriptUrl;
    /**
     * Id of the element where PayPal button will be rendered
     */
    payPalButtonContainerId?: string;
    private readonly payPalButtonContainerIdPrefix;
    private readonly ngUnsubscribe;
    constructor();
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    private initPayPal;
    private getPseudoUniqueNumber;
    /**
     * Used when there are multiple paypal components on the same page beacuse only 1 of them
     * may register paypal script. The other has to be polling until paypal is available or component destroyed
     */
    private pollUntilScriptAvailable;
    private addPayPalScriptToPage;
    private handleScriptRegistering;
    private setupScript;
    private getClient;
    private getFunding;
    private mapFundingType;
}
