import { IDKitErrorCodes, IDKitRequestConfig, Preset, ConstraintNode, IDKitResult, IDKitSessionConfig, IDKitResultSession } from '@worldcoin/idkit-core'; export { ConstraintNode, CredentialRequest, CredentialRequestType, CredentialType, IDKit, IDKitErrorCode, IDKitErrorCodes, IDKitRequestConfig, IDKitResult, IDKitResultSession, IDKitSessionConfig, PassportPreset, Preset, ProofOfHumanPreset, ResponseItemSession, ResponseItemV3, ResponseItemV4, RpContext, all, any, deviceLegacy, documentLegacy, enumerate, isDebug, orbLegacy, passport, proofOfHuman, secureDocumentLegacy, selfieCheckLegacy, setDebug, signRequest } from '@worldcoin/idkit-core'; import { ReactElement } from 'react'; type PollingConfig = { polling?: { interval?: number; timeout?: number; }; }; type IDKitHookResult = { open: () => void; reset: () => void; isAwaitingUserConnection: boolean; isAwaitingUserConfirmation: boolean; isSuccess: boolean; isError: boolean; connectorURI: string | null; result: TResult | null; errorCode: IDKitErrorCodes | null; isOpen: boolean; /** Use `isInWorldApp` to determine if the widget is running inside the World App (mini app context). */ isInWorldApp: boolean; }; type IDKitInviteCodeHookResult = { open: () => void; reset: () => void; isAwaitingUserConnection: boolean; isAwaitingUserConfirmation: boolean; isSuccess: boolean; isError: boolean; /** URL to display to the user (same shape as URL/QR mode's `connectorURI`, with `&c=&a=` appended for the `world.org/verify` landing page). */ connectorURI: string | null; /** Unix-seconds expiry of the unredeemed code. */ codeExpiresAt: number | null; result: TResult | null; errorCode: IDKitErrorCodes | null; isOpen: boolean; /** Use `isInWorldApp` to determine if the widget is running inside the World App (mini app context). */ isInWorldApp: boolean; }; type IDKitRequestHookConfig = IDKitRequestConfig & PollingConfig & ({ preset: Preset; constraints?: never; } | { constraints: ConstraintNode; preset?: never; }); type UseIDKitRequestHookResult = IDKitHookResult; type IDKitInviteCodeRequestHookConfig = IDKitRequestConfig & PollingConfig & ({ preset: Preset; constraints?: never; } | { constraints: ConstraintNode; preset?: never; }); type UseIDKitInviteCodeRequestHookResult = IDKitInviteCodeHookResult; type IDKitSessionHookConfig = IDKitSessionConfig & PollingConfig & { constraints: ConstraintNode; existing_session_id?: `session_${string}`; }; type UseIDKitSessionHookResult = IDKitHookResult; type SupportedLanguage = "en" | "es" | "th"; type MaybePromise = Promise | T; type WidgetSharedProps = { open: boolean; onOpenChange: (open: boolean) => void; handleVerify?: (result: TResult) => MaybePromise; onSuccess: (result: TResult) => MaybePromise; onError?: (errorCode: IDKitErrorCodes) => MaybePromise; autoClose?: boolean; language?: SupportedLanguage; }; type IDKitRequestWidgetProps = IDKitRequestHookConfig & WidgetSharedProps; type IDKitInviteCodeRequestWidgetProps = IDKitInviteCodeRequestHookConfig & WidgetSharedProps; type IDKitSessionWidgetProps = IDKitSessionHookConfig & WidgetSharedProps; declare function useIDKitRequest(config: IDKitRequestHookConfig): UseIDKitRequestHookResult; declare function useIDKitInviteCodeRequest(config: IDKitInviteCodeRequestHookConfig): UseIDKitInviteCodeRequestHookResult; declare function useIDKitSession(config: IDKitSessionHookConfig): UseIDKitSessionHookResult; declare function IDKitRequestWidget({ open, onOpenChange, handleVerify, onSuccess, onError, autoClose, language, ...config }: IDKitRequestWidgetProps): ReactElement | null; declare function IDKitInviteCodeRequestWidget({ open, onOpenChange, handleVerify, onSuccess, onError, autoClose, language, ...config }: IDKitInviteCodeRequestWidgetProps): ReactElement | null; declare function IDKitSessionWidget({ open, onOpenChange, handleVerify, onSuccess, onError, autoClose, language, ...config }: IDKitSessionWidgetProps): ReactElement | null; export { type IDKitHookResult, type IDKitInviteCodeHookResult, type IDKitInviteCodeRequestHookConfig, IDKitInviteCodeRequestWidget, type IDKitInviteCodeRequestWidgetProps, type IDKitRequestHookConfig, IDKitRequestWidget, type IDKitRequestWidgetProps, type IDKitSessionHookConfig, IDKitSessionWidget, type IDKitSessionWidgetProps, type PollingConfig, type SupportedLanguage, type UseIDKitInviteCodeRequestHookResult, type UseIDKitRequestHookResult, type UseIDKitSessionHookResult, useIDKitInviteCodeRequest, useIDKitRequest, useIDKitSession };