import * as react_jsx_runtime from 'react/jsx-runtime'; import { ReactNode } from 'react'; import { C as CreateKycOptions, a as KycIdentity, m as KycStatus, g as KycError, L as LaunchKycVerificationOptions, n as KycVerificationHandle, d as Kyc } from '../launchVerification-oM0NtTLd.js'; export { h as KycErrorCode, i as KycLaunchTarget, j as KycLoginType, k as KycRejectType, o as KycVerificationMode, r as launchKycVerification } from '../launchVerification-oM0NtTLd.js'; interface KycProviderProps { /** createKyc options. 흔한 케이스는 { projectId, getAccessToken } 한두 줄. */ config: CreateKycOptions; children: ReactNode; } /** * KYC Provider — 어떤 React 앱에든 단독으로 마운트 가능. * connect-kit-react를 안 쓰는 DApp도 이걸 직접 마운트해서 `useKyc`를 쓸 수 있다. * * `getAccessToken`은 매 요청 시점에 호출되므로, 토큰이 갱신돼도 Provider를 * 재마운트할 필요가 없다 — 클로저로 최신 토큰을 읽게 넘기면 된다. */ declare function KycProvider({ config, children }: KycProviderProps): react_jsx_runtime.JSX.Element; interface UseKycResult { /** Provider mount 여부 (= 항상 true. 컨벤션 통일 위해 노출). */ isAvailable: boolean; /** GET /kyc 결과. 마운트 직후엔 undefined. */ identity: KycIdentity | undefined; /** identity?.status 단축 접근. */ status: KycStatus | undefined; /** identity?.verified 단축 접근 (미로드 시 false). */ verified: boolean; /** 상태 조회 중 여부. */ isLoading: boolean; /** start() 진행 중 여부 (조회의 isLoading과 별개). */ isStarting: boolean; /** 마지막 에러 (조회/시작 공통). 새 호출 시 null로 리셋. */ error: KycError | null; /** 강제 재조회 (GET /kyc). */ refresh: () => Promise; /** * 검증 시작/재개 (POST /kyc). 성공 시 identity를 갱신하고 반환한다. * 저수준 훅 — 진입(UI)까지 한 번에 하려면 `startVerification`을 쓴다. */ start: () => Promise; /** * 검증 시작 + 진입까지 일괄 처리 (POST /kyc → 검증 진입). * - `verificationUrl`이 오면 새 탭으로 연다(기본). * - 없고 `sdkToken`만 오면 Sumsub WebSDK를 모달에 launch(fallback). * 토큰 만료 시 재발급은 내부에서 `start()`를 재호출해 처리한다. */ startVerification: (opts?: Omit) => Promise<{ identity: KycIdentity; handle: KycVerificationHandle; }>; } interface UseKycOptions { /** 마운트 시 자동으로 GET /kyc를 호출할지. 기본 true. */ autoFetch?: boolean; } /** * KYC 메인 훅. 마운트 시 GET /kyc로 상태를 자동 조회하고, start()로 POST /kyc를 * 호출해 검증을 시작/재개한다. 인증(Bearer 토큰/쿠키)은 Provider에 주입된 * createKyc 옵션이 담당한다. */ declare function useKyc(opts?: UseKycOptions): UseKycResult; /** * KycProvider 안에서는 Kyc facade를 반환, 밖에서는 null. * * "있으면 쓰고, 없으면 비활성"으로 동작하고 싶은 컴포넌트가 React 훅 규칙을 * 어기지 않고 KycProvider 마운트 여부를 분기할 수 있게 한다. */ declare function useOptionalKyc(): Kyc | null; export { CreateKycOptions, Kyc, KycError, KycIdentity, KycProvider, type KycProviderProps, KycStatus, KycVerificationHandle, LaunchKycVerificationOptions, type UseKycOptions, type UseKycResult, useKyc, useOptionalKyc };