import { ID } from '../../commonStateTypes/common'; import { UserReimbursementInfoDataPayload } from '../company/companyPayload'; import { MasterTOSInfo, UserReimbursementInfo } from '../company/companyStateTypes'; import { InvitationStatus } from './userRoleState'; import { UserRoleType } from './userRoleType'; export interface MasterTOSInfoPayload { is_master_tos_accepted: boolean; master_tos_acceptance_ip: string; master_tos_acceptance_time: string; master_tos_acceptance_user_agent: string; } export interface UserRolePayload { accounting_class_ids: string[]; additional_document_types_requested_for_verification: string[] | null; additional_submitted_documents_for_verification_file_ids: { social_security_card: string[]; } | null; are_additional_documents_requested_for_verification: boolean | null; are_additional_documents_submitted_for_verification: boolean | null; company_id: ID; is_admin: boolean; is_ap_analyst: boolean; is_banker: boolean; is_bill_pay_admin: boolean; is_bill_pay_user: boolean; is_bookkeeping_admin: boolean; is_bookkeeping_user: boolean; is_charge_card_admin: boolean; is_charge_card_user: boolean; is_company_officer: boolean; is_controller: boolean; is_customer_success_manager: boolean; is_deleted: boolean; is_deposit_accounts_admin: boolean; is_deposit_accounts_user: boolean; is_investor_or_banker: boolean; is_invite_accepted: boolean; is_invited: boolean; is_preparer: boolean; is_reimbursements_admin: boolean; is_reimbursements_user: boolean; is_reviewer: boolean; is_tax_lead: boolean; is_treasury_admin: boolean; is_treasury_user: boolean; is_zeni: boolean; is_zeni_support_user: boolean; manager_user_id: string | null; tenant_email_domain: string; tenant_id: ID; user_email: string; user_email_domain: string; user_id: ID; user_role_id: ID; user_verification_status: { code: string | null; name: string | null; }; address_id?: ID | null; company_ownership?: number | null; create_time?: string | null; document_type_for_verification?: string | null; file_ids?: ID[] | null; invite_accept_time?: string | null; invite_create_time?: string | null; invite_update_time?: string | null; invite_updater_id?: string | null; inviter_email?: string | null; inviter_id?: ID | null; master_tos_info?: MasterTOSInfoPayload; reimbursement_info?: UserReimbursementInfoDataPayload; sync_token?: string | null; title_at_company?: string | null; treasury_user_verification_status?: { code: string | null; name: string | null; } | null; update_time?: string | null; user_last_check_in_time_into_tenant?: string | null; } type UserRoleFlagsPayload = Pick; declare function getUserRoles(userRolePayload: UserRoleFlagsPayload): UserRoleType[]; declare function getInvitationStatus(userRolePayload: Pick): InvitationStatus; export declare const toUserReimbursementInfo: (payload: UserReimbursementInfoDataPayload) => UserReimbursementInfo; export declare const toMasterTOSInfo: (payload: MasterTOSInfoPayload) => MasterTOSInfo; export { getUserRoles, getInvitationStatus };