import { ID } from '../../commonStateTypes/common'; import { ZeniDate } from '../../zeniDayJS'; import { User } from '../user/userState'; import { UserState } from '../user/userState'; import { AiAccountantCustomerState, AiAccountantEnrollmentStatus, AiAccountantJobStatus, AiAccountantOperationType } from './aiAccountantCustomerState'; export interface AiAccountantEnrollmentView { status: AiAccountantEnrollmentStatus; accuracy?: Record; latestTraining?: ZeniDate; latestTransactionSync?: ZeniDate; offboardedAt?: ZeniDate; offboardedBy?: User; onboardedAt?: ZeniDate; onboardedBy?: User; validationResults?: Array<{ accuracy: number; modelType: string; passed: boolean; threshold: number; }>; } export interface AiAccountantCustomerView { averageAccuracy: number; companyId: ID; companyName: string; tenantId: ID; bookcloseDate?: ZeniDate; enrollment?: AiAccountantEnrollmentView; } export interface AiAccountantJobView { companyId: ID; createdAt: ZeniDate; jobId: ID; operationType: AiAccountantOperationType; status: AiAccountantJobStatus; tenantId: ID; companyNamespace?: string; completedAt?: ZeniDate; errorMessage?: string; parameters?: Record; retryCount?: number; startedAt?: ZeniDate; steps?: Array>; triggeredBy?: User; validationResults?: Array>; } export declare function getAiAccountantCustomers(customerState: AiAccountantCustomerState, userState: UserState): AiAccountantCustomerView[]; export declare function getAiAccountantJobsByTenantId(customerState: AiAccountantCustomerState, userState: UserState, tenantId: string): AiAccountantJobView[];