import { InjectionToken } from '@angular/core';
import { MercadopagoSDk, PaymentMethod, PaymentForm, CardInstallment, PaymentMethodSearch, CardToken, Installments, ErrorData } from './interfaces/mercadopago-sdk';
import { NgxMercadopagoConfiguration } from './interfaces/ngx-mercadopago';
/** @hidden */
export declare const ConfigToken: InjectionToken<NgxMercadopagoConfiguration>;
export declare class NgxMercadopagoService {
    private config;
    initialized: boolean;
    constructor(config: NgxMercadopagoConfiguration);
    initialize(publishKey?: string): Promise<MercadopagoSDk>;
    loadMPScript(src: string): HTMLScriptElement;
    clearSession(): Promise<void>;
    getPaymentMethod(card: PaymentMethodSearch): import("rxjs").Observable<{
        status: number;
        data: PaymentMethod[];
        error: ErrorData;
    }>;
    getPaymentMethods(): PaymentMethod[];
    getIdentificationTypes(): import("rxjs").Observable<{
        status: number;
        data: import("./interfaces/mercadopago-sdk").IdentificationType[];
    }>;
    getInstallments(card: CardInstallment): import("rxjs").Observable<{
        status: number;
        data: Installments[];
        error: ErrorData;
    }>;
    createToken(form: PaymentForm): import("rxjs").Observable<{
        status: number;
        data: CardToken;
        error: ErrorData;
    }>;
    validateExpiryDate(date: string): boolean;
    validateExpiryMonthYear(month: string, year: string): boolean;
}
