import { FetchStateAndError, ID } from '../../../commonStateTypes/common'; import { InvoicingDataImportStatusRow, InvoicingMigrationDiagnostic, InvoicingMigrationDiagnosticFilters, InvoicingMigrationSession } from './dataImportViewPayload'; export interface InvoicingMigrationDiagnosticsState { diagnosticsExpiresAt: string | null; expired: boolean; fetch: FetchStateAndError; filters: InvoicingMigrationDiagnosticFilters; items: InvoicingMigrationDiagnostic[]; nextCursor: string | null; } export type InvoicingDataImportActionKind = 'connect' | 'retry' | 'rollback' | 'start' | 'upload'; export interface InvoicingDataImportViewState { /** Action fetch state per kind — connect, upload, start, retry, rollback. */ actionStateByKind: Partial>; activeDetailId: ID | null; diagnosticsBySession: Record; sessionDetail: Record; sessionDetailFetch: FetchStateAndError; sessions: InvoicingMigrationSession[]; sessionsFetch: FetchStateAndError; statusFetch: FetchStateAndError; statusRows: InvoicingDataImportStatusRow[]; }