import { FetchStateAndError, ID } from '../../commonStateTypes/common'; import { AttachmentFile } from '../../entity/file/fileState'; import { ZeniDate } from '../../zeniDayJS'; import { AuditSummary } from '../reviewCompanyView/reviewCompanyViewState'; import { CompanyMonthEndHistoricReportPayload, CompanyMonthEndReportViewPayload, MonthEndTemplateData } from './companyMonthEndReportViewPayload'; export interface CompanyMonthEndReportData { recipientEmailList: string[]; agentInsightsEditedAt?: ZeniDate; agentInsightsEditedBy?: string; attachmentFile?: AttachmentFile; concatenatedHtml?: string; draftUserId?: string; html?: string; lastDraftSavedDate?: ZeniDate; reportSentDate?: ZeniDate; subject?: string; templateData?: MonthEndTemplateData; tenantReceiverEmailList?: string[]; zeniRequestsData?: string[]; zeniRequestsHtml?: string; } interface CompanyMonthEndReport extends FetchStateAndError { auditSummaryData: AuditSummaryData; companyMonthEndReportData: CompanyMonthEndReportData; companyMonthEndReportTemplatesData: CompanyMonthReportTemplates; improveUsingZeniGPTStatus: FetchStateAndError; previewMonthEndReportStatus: FetchStateAndError; saveMonthEndReportStatus: FetchStateAndError; sendMonthEndReportStatus: FetchStateAndError; } export interface AuditSummaryData extends FetchStateAndError { auditSummary: AuditSummary; isControllerOrReviewer: boolean; } export declare const getMonthEndReportHistoricDataKey: (companyId: ID, reportDate: ZeniDate) => `${string}_${string}`; type CompanyMonthEndReportHistoricDataKey = ReturnType; interface HistoricDatesList extends FetchStateAndError { reportSentDates: ZeniDate[]; } export interface CompanyMonthReportTemplates extends TemplatesList, FetchStateAndError { } export interface TemplatesList { missingReceipts: string | null; uncategorizedExpenses: string | null; uncategorizedIncomes: string | null; } export interface CompanyMonthEndReportHistoricData extends FetchStateAndError { data: CompanyMonthEndReportData | null; } export interface CompanyMonthEndReportViewState { historicData: Record; historicDatesListByCompanyId: Record; monthEndReportDataByCompanyId: Record; } export declare const toCompanyMonthEndReportData: (data: CompanyMonthEndReportViewPayload) => CompanyMonthEndReportData; export declare function toMonthEndHistoricData(data: CompanyMonthEndHistoricReportPayload): CompanyMonthEndReportData; export {};