import { InMemoryCacheConfig } from '@apollo/client/cache/inmemory/types';
import { FutureverseAuthClient } from '@futureverse/auth';
import * as sdk from '@futureverse/experience-sdk';
import * as React from 'react';
import { Hex, SignableMessage } from 'viem';
import { ConnectorId } from '../../interfaces';
import { ProviderApiKeys, RequiredChains } from './context';
export type LoginMethod = {
    type: 'eoa';
    address: string;
    connector: ConnectorId;
    signMessage: (parameters: {
        message: SignableMessage;
    }) => Promise<Hex>;
} | {
    type: 'silent';
    targetEOA: string | null;
} | {
    type: 'email';
} | {
    type: 'social';
    targetSSO: 'google' | 'facebook';
} | {
    type: 'xaman';
    publicKey?: string;
    eoa?: string;
    transaction?: string;
};
type ProviderProps = React.PropsWithChildren<{
    stage: sdk.Stage;
    authClient: FutureverseAuthClient;
    requiredChains?: RequiredChains;
    walletConnectProjectId: string;
    ethereumProviderApiKeys?: ProviderApiKeys;
    graphqlConfig?: {
        uri?: string;
        cacheConfig?: InMemoryCacheConfig;
    };
    isCustodialLoginEnabled?: boolean;
    isXamanLoginEnabled?: boolean;
    defaultAuthOptions?: 'web2' | 'web3';
    ssr?: boolean;
    flow?: 'popup' | 'redirect';
}>;
export declare const FutureverseProvider: (props: ProviderProps) => import("react/jsx-runtime").JSX.Element;
export {};
