import * as z from 'zod';
import { CrossmintPaymentMethodManagementProps } from '../../types/index.cjs';
import { IFrameWindow } from '@crossmint/client-sdk-window';
import { CrossmintApiClient } from '@crossmint/common-sdk-base';
import '../../types/events/internal/index.cjs';
import '../../types/events/internal/events.cjs';
import '../../types/events/internal/payloads.cjs';
import '../../types/system.cjs';
import '../../types/events/public/events.cjs';
import '../../types/embed/v3/events/incoming.cjs';
import '../../types/embed/v3/events/outgoing.cjs';
import '../../types/embed/v3/events/EmbeddedCheckoutV3IFrameEmitter.cjs';
import '../../types/payment-method-management/events/incoming.cjs';
import '../../types/payment-method-management/events/outgoing.cjs';
import '../../types/payment-method-management/events/PaymentMethodManagementIFrameEmitter.cjs';
import '../../types/payment-method-management/OrderIntents.cjs';
import '../../types/payment-method-management/PaymentMethodAgenticEnrollment.cjs';
import '../../types/CryptoCurrency.cjs';

type PaymentMethodManagementServiceProps = {
    apiClient: CrossmintApiClient;
};
declare function createPaymentMethodManagementService({ apiClient }: PaymentMethodManagementServiceProps): {
    iframe: {
        getUrl: (props: CrossmintPaymentMethodManagementProps) => string;
        createClient: (iframe: HTMLIFrameElement) => IFrameWindow<{
            "ui:height.changed": z.ZodObject<{
                height: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                height: number;
            }, {
                height: number;
            }>;
            "payment-method:selected": z.ZodAny;
        }, {}>;
    };
};

export { type PaymentMethodManagementServiceProps, createPaymentMethodManagementService };
