import { BillingFormFields } from '../components';
import { PAYMENT_METHODS, SavedPaymentMethod, SelectedPaymentMethod } from '../components/modular-checkout/ModularCheckout';
interface IInitialState {
    accountId: string;
    authToken: string;
    billingFormFields: BillingFormFields;
    bnplEnabled: boolean;
    isSubmitting: boolean;
    isWalletProcessing: boolean;
    applePayEnabled: boolean;
    googlePayEnabled: boolean;
    achPaymentsEnabled: boolean;
    insuranceEnabled: boolean;
    bnplProviderApiVersion: string;
    bnplProviderCheckoutUrl: string;
    bnplProviderClientId: string;
    bnplProviderMode: string;
    checkoutId: string;
    checkoutLoaded: boolean;
    checkoutMode: 'test' | 'live' | null;
    bankAccountVerification?: boolean;
    disableBankAccount: boolean;
    disableCreditCard: boolean;
    disablePaymentMethodGroup: boolean;
    paymentAmount: number;
    paymentCurrency: string;
    paymentDescription: string;
    paymentMethodGroupId: string | undefined;
    paymentMethods: SavedPaymentMethod[];
    paymentToken?: string;
    savePaymentMethod: boolean;
    selectedPaymentMethod: SelectedPaymentMethod | undefined;
    totalAmount: number;
    plaidPublicToken?: string;
    plaidLinkTokenId?: string;
}
export interface CheckoutState {
    selectedPaymentMethod: SelectedPaymentMethod | undefined;
    paymentAmount: number;
    totalAmount: number;
    paymentCurrency: string;
    paymentDescription: string;
    savedPaymentMethods: SavedPaymentMethod[];
    savePaymentMethod: boolean;
    bnplEnabled: boolean;
    applePayEnabled: boolean;
    insuranceEnabled: boolean;
    disableBankAccount: boolean;
    disableCreditCard: boolean;
    disablePaymentMethodGroup: boolean;
    paymentToken?: string;
}
declare const initialState: IInitialState;
declare const checkoutStore: IInitialState, onChange: import("@stencil/store/dist/types").OnChangeHandler<IInitialState>;
export declare function getAvailablePaymentMethodTypes(): PAYMENT_METHODS[];
export declare function isNewCardSelected(): boolean;
export declare function getCheckoutState(): CheckoutState;
export { checkoutStore as checkoutStore, onChange };
type StoreKey = keyof typeof initialState;
export declare function onAnyChange(callback: (key: StoreKey, value: (typeof initialState)[StoreKey]) => void): void;
