///
import { INSTANCE_LOADING_STATE, INSTANCE_DISPATCH_ACTION } from "../types/PayPalProviderEnums";
import type { Components, SdkInstance, EligiblePaymentMethodsOutput, FindEligibleMethodsOptions } from "../types";
export interface PayPalState {
sdkInstance: SdkInstance | null;
eligiblePaymentMethods: EligiblePaymentMethodsOutput | null;
eligiblePaymentMethodsPayload?: FindEligibleMethodsOptions | null;
loadingStatus: INSTANCE_LOADING_STATE;
error: Error | null;
isHydrated: boolean;
}
export type InstanceAction = {
type: INSTANCE_DISPATCH_ACTION.SET_LOADING_STATUS;
value: INSTANCE_LOADING_STATE;
} | {
type: INSTANCE_DISPATCH_ACTION.SET_INSTANCE;
value: SdkInstance;
} | {
type: INSTANCE_DISPATCH_ACTION.SET_ELIGIBILITY;
value: {
eligiblePaymentMethods: EligiblePaymentMethodsOutput | null;
payload?: FindEligibleMethodsOptions | null;
};
} | {
type: INSTANCE_DISPATCH_ACTION.SET_ERROR;
value: Error;
} | {
type: INSTANCE_DISPATCH_ACTION.RESET_STATE;
};
export declare const initialState: PayPalState;
export declare function instanceReducer(state: PayPalState, action: InstanceAction): PayPalState;
export declare const PayPalContext: import("react").Context;