import { EventEmitter } from "../../../stencil-public-runtime";
import { ApplePayButtonType, ApplePayButtonStyle, IApplePayToken } from "../../../api/ApplePay";
export declare class JustifiApplePay {
    private applePayService;
    private sdkLoaded;
    countryCode: string;
    merchantIdentifier: string;
    merchantDisplayName: string;
    initiativeContext: string;
    buttonType: ApplePayButtonType;
    buttonStyle: ApplePayButtonStyle;
    disabled: boolean;
    width: string;
    height: string;
    isLoading: boolean;
    isProcessing: boolean;
    isAvailable: boolean;
    canMakePayments: boolean;
    isConfigValid: boolean;
    error: string | null;
    applePayStarted: EventEmitter<void>;
    applePayCompleted: EventEmitter<{
        success: boolean;
        token?: IApplePayToken;
        paymentMethodId?: string;
        error?: any;
    }>;
    applePayCancelled: EventEmitter<void>;
    applePayError: EventEmitter<{
        error: string;
        code: string;
    }>;
    static ErrorCode: {
        readonly CONFIG_ERROR: "CONFIG_ERROR";
        readonly NOT_SUPPORTED: "NOT_SUPPORTED";
        readonly NOT_AVAILABLE: "NOT_AVAILABLE";
        readonly INITIALIZATION_ERROR: "INITIALIZATION_ERROR";
        readonly PAYMENT_FAILED: "PAYMENT_FAILED";
    };
    componentWillLoad(): void;
    private loadApplePaySDK;
    private initializeApplePay;
    private handleApplePayClick;
    isSupported(): Promise<boolean>;
    getPaymentMethods(): Promise<string[]>;
    abort(): Promise<void>;
    render(): any;
}
