import type { Container } from '../../components/container';
import { type GooglePayRawDataInitialization, type GooglePayStyles, type IGooglePayShippingOption } from '../../components/param';
import type { EventEmitter } from '../../helper/event-emitter';
import { type IWalletService, type IWalletServiceMeta, type IWalletServiceUpdate, WalletService } from './wallet-service';
export declare class GoogleWalletService extends WalletService implements IWalletService {
    protected gatewayName: string;
    protected eventEmitter: EventEmitter;
    private paymentsClient;
    protected latestShippingChangePromiseResolve: (value: unknown) => void;
    protected latestShippingChangePromiseReject: () => void;
    protected selectedShippingOption: IGooglePayShippingOption;
    protected processingButtonClick: boolean;
    protected isProcessingAuthorization: boolean;
    constructor(publicKey: string, meta: IWalletServiceMeta, gatewayName: string, eventEmitter: EventEmitter);
    protected getGatewayName(): string;
    protected getMerchantId(): string;
    protected getMetaStyles(): GooglePayStyles;
    protected getMetaRawDataInitialization(): GooglePayRawDataInitialization;
    protected isShippingRequired(): boolean;
    protected hasShippingOptions(): boolean;
    load(container: Container): Promise<void>;
    update(data: IWalletServiceUpdate): void;
    private checkAvailability;
    private mount;
    private onGooglePayButtonClicked;
    private loadPaymentData;
    private onPaymentAuthorized;
    private onPaymentDataChanged;
    private createRequest;
    private createPaymentDataRequest;
    private createCardData;
    private parseUpdateData;
    private formatShippingOptions;
}
//# sourceMappingURL=google.wallet-service.d.ts.map