import { UserQuery } from "../data";
import { PayoutStatusAlert } from "./sqm-payout-status-alert";
export declare type EnforceUsTaxComplianceOption = "NONE" | "EXPLICIT_COUNTRY_CODE" | "IMPLIED_COUNTRY_CODE" | "ALL" | "CASH_ONLY" | "CASH_ONLY_DEFER_W9";
export declare type PayoutStatus = "OVER_W9_THRESHOLD" | "INFORMATION_REQUIRED" | "VERIFICATION:REQUIRED" | "VERIFICATION:INTERNAL" | "VERIFICATION:REVIEW" | "VERIFICATION:FAILED" | "NEW_PAYEE_REVIEW" | "PAYMENT_HOLD_ON_CHANGE" | "BENEFICIARY_NAME_INVALID" | "BENEFICIARY_NAME_MISMATCH" | "BANK_TAX_NAME_MISMATCH" | "WITHDRAWAL_SETTINGS_INVALID" | "PAYMENT_RETURNED" | "HOLD" | "DONE";
export declare type TenantSettingsQuery = {
  tenantSettings: {
    enforceUsTaxCompliance: EnforceUsTaxComplianceOption;
  };
};
export declare function getStatus(data: UserQuery): PayoutStatus;
export declare function usePayoutStatus(props: PayoutStatusAlert): {
  states: {
    loading: boolean;
    veriffLoading: boolean;
    status: PayoutStatus;
    error: boolean;
    enforceUsTaxComplianceOption: EnforceUsTaxComplianceOption;
  };
  data: {
    type: "SquatchJS2" | "SquatchAndroid" | "SquatchIOS" | "SquatchPortal" | "SquatchAdmin" | "None";
  };
  text: PayoutStatusAlert;
  callbacks: {
    onTermsClick: () => void;
    onClick: () => Promise<void>;
    onPaymentInfoClick: () => void;
    onNewFormClick: () => void;
  };
};
