import { IMTBLWidgetEvents, CommerceWidgetParams, WidgetProperties, WidgetType, CommerceWidgetConnectFlowParams, CommerceWidgetWalletFlowParams, CommerceWidgetAddTokensFlowParams, CommerceWidgetSwapFlowParams, CommerceWidgetBridgeFlowParams, CommerceWidgetOnRampFlowParams, CommerceWidgetSaleFlowParams, CommerceFlowType, CommerceWidgetPurchaseFlowParams, CommerceWidgetTransferFlowParams } from '@imtbl/checkout-sdk';
import { Base } from '../BaseWidgetRoot';
export declare class CommerceWidgetRoot extends Base<WidgetType.IMMUTABLE_COMMERCE> {
    protected eventTopic: IMTBLWidgetEvents;
    protected getValidatedProperties({ config, }: WidgetProperties<WidgetType.IMMUTABLE_COMMERCE>): WidgetProperties<WidgetType.IMMUTABLE_COMMERCE>;
    protected getValidConnectFlowParams(params: CommerceWidgetConnectFlowParams): {
        flow: CommerceFlowType.CONNECT;
        language?: import("@imtbl/checkout-sdk").WidgetLanguage;
        targetChainId?: import("@imtbl/checkout-sdk").ChainId;
        targetWalletRdns?: string | import("@imtbl/checkout-sdk").WalletProviderRdns;
        blocklistWalletRdns?: string[];
        allowlistWalletRdns?: string[];
    };
    protected getValidWalletFlowParams(params: CommerceWidgetWalletFlowParams): CommerceWidgetWalletFlowParams;
    protected getValidSaleFlowParams(params: CommerceWidgetSaleFlowParams): {
        items: import("@imtbl/checkout-sdk").SaleItem[];
        flow: CommerceFlowType.SALE;
        environmentId?: string;
        collectionName?: string;
        walletProviderName?: import("@imtbl/checkout-sdk").WalletProviderName;
        language?: import("@imtbl/checkout-sdk").WidgetLanguage;
        excludePaymentTypes?: import("@imtbl/checkout-sdk").SalePaymentTypes[];
        excludeFiatCurrencies?: string[];
        preferredCurrency?: string;
        customOrderData?: Record<string, unknown>;
    };
    protected getValidAddTokensFlowParams(params: CommerceWidgetAddTokensFlowParams): {
        flow: CommerceFlowType.ADD_TOKENS;
        language?: import("@imtbl/checkout-sdk").WidgetLanguage;
        showOnrampOption?: boolean;
        showSwapOption?: boolean;
        showBridgeOption?: boolean;
        toTokenAddress?: string;
        toAmount?: string;
        showBackButton?: boolean;
        toProvider?: import("@imtbl/checkout-sdk").WrappedBrowserProvider;
        experiments?: Record<string, string>;
    };
    protected getValidPurchaseFlowParams(params: CommerceWidgetPurchaseFlowParams): {
        items: import("@imtbl/checkout-sdk").SaleItem[];
        flow: CommerceFlowType.PURCHASE;
        language?: import("@imtbl/checkout-sdk").WidgetLanguage;
        environmentId?: string;
        showBackButton?: boolean;
    };
    protected getValidTransferFlowParams(params: CommerceWidgetTransferFlowParams): {
        flow: CommerceFlowType.TRANSFER;
        language?: import("@imtbl/checkout-sdk").WidgetLanguage;
        amount?: string;
        tokenAddress?: `0x${string}` | "native";
        toAddress?: `0x${string}`;
        showBackButton?: boolean;
    };
    protected getValidSwapFlowParams(params: CommerceWidgetSwapFlowParams): {
        flow: CommerceFlowType.SWAP;
        amount?: string;
        fromTokenAddress?: string;
        toTokenAddress?: string;
        walletProviderName?: import("@imtbl/checkout-sdk").WalletProviderName;
        language?: import("@imtbl/checkout-sdk").WidgetLanguage;
        autoProceed?: boolean;
        direction?: import("@imtbl/checkout-sdk").SwapDirection;
        showBackButton?: boolean;
    };
    protected getValidBridgeFlowParams(params: CommerceWidgetBridgeFlowParams): {
        flow: CommerceFlowType.BRIDGE;
        tokenAddress?: string;
        amount?: string;
        walletProviderName?: import("@imtbl/checkout-sdk").WalletProviderName;
        language?: import("@imtbl/checkout-sdk").WidgetLanguage;
        showBackButton?: boolean;
    };
    protected getValidOnRampFlowParams(params: CommerceWidgetOnRampFlowParams): {
        flow: CommerceFlowType.ONRAMP;
        tokenAddress?: string;
        amount?: string;
        walletProviderName?: import("@imtbl/checkout-sdk").WalletProviderName;
        language?: import("@imtbl/checkout-sdk").WidgetLanguage;
        showBackButton?: boolean;
    };
    protected getValidatedParameters(params: CommerceWidgetParams): CommerceWidgetParams;
    protected render(): void;
}
