import { ClientTaxDocumentation } from '@taxbit/utilities'; import { DescriptorState } from 'contexts'; import { QuestionnaireProp } from 'types'; import { ExternalValidations } from 'types/client'; import { Region } from '../../services/api.ts'; export type UseTaxbitPersistProps = { data?: ClientTaxDocumentation; staging?: boolean; bearerToken: string; questionnaire: QuestionnaireProp; onSuccess?: (data: ClientTaxDocumentation) => void | Promise; onSettled?: (data: ClientTaxDocumentation) => void | Promise; onError?: (error: Error) => void | Promise; onSubmit?: (data: ClientTaxDocumentation, files: Record) => void | Promise; region?: Region; proxyDomain?: string; proxyHeaders?: Record; adaptiveMode?: 'full' | 'skipEdit' | 'skipLock'; /** * When `false`, the SDK does not fetch previously-submitted documentation, * so no prior PII prefills the form. The status fetch still runs, but the * form always starts on step one rather than a completed Summary. * Defaults to `true`. */ prepopulateWithSavedData?: boolean; }; export declare const useTaxbitPersist: ({ bearerToken, data, onError, onSettled, onSubmit, onSuccess, questionnaire, staging, region, proxyDomain, proxyHeaders, prepopulateWithSavedData, }: UseTaxbitPersistProps) => { handleOnSubmit: (state: DescriptorState, files: Record) => Promise; externalValidations: ExternalValidations; formData: ClientTaxDocumentation; isComplete: boolean; isLoading: boolean; error: Error | undefined; };