import React, { ReactNode } from 'react'; import { DiditAuthStatus } from '../../types'; export interface AuthenticationAdapter { getNonce: () => Promise; createMessage: (args: { address: string; }) => Promise<{ code: string; policy: string; }>; getMessageBody: (args: { message: string; }) => string; verify: (args: { code: string; signature: string; }) => Promise; signOut: () => Promise; } export interface RainbowKitAuthenticationConfig { adapter: AuthenticationAdapter; status: DiditAuthStatus; token: string | boolean; address: string; error: string; } export declare function createAuthenticationAdapter(adapter: AuthenticationAdapter): AuthenticationAdapter; export declare const RainbowKitAuthenticationContext: React.Context; interface RainbowKitAuthenticationProviderProps extends RainbowKitAuthenticationConfig { enabled?: boolean; children: ReactNode; } export declare function RainbowKitAuthenticationProvider({ adapter, address, children, enabled, error, status, token, }: RainbowKitAuthenticationProviderProps): React.JSX.Element; export declare function useAuthenticationAdapter(): AuthenticationAdapter; export {};