import { FetchStateAndError, ID } from '../../../commonStateTypes/common'; import { InvoicingFieldHelpByCode } from '../../../entity/invoicing/invoicingCommonPayload'; import { RootState } from '../../../rootStateTypes'; import { InvoicingDataImportStatusRow, InvoicingMigrationSession } from './dataImportViewPayload'; import { InvoicingDataImportActionKind, InvoicingMigrationDiagnosticsState } from './dataImportViewState'; export interface InvoicingDataImportView { /** * Action fetch state per kind, so the data-import screens read this view * rather than one selector per action. */ actionStateByKind: Partial>; activeMigrationSessionId: ID | null; diagnosticsBySession: Record; fieldHelp: InvoicingFieldHelpByCode; sessionDetail: Record; sessionDetailFetch: FetchStateAndError; sessions: InvoicingMigrationSession[]; sessionsFetch: FetchStateAndError; statusFetch: FetchStateAndError; statusRows: InvoicingDataImportStatusRow[]; } /** * Single bundled view for the invoicing data-import surfaces — consumers read * only this. Carries the migration `sessions` list + `sessionsFetch`, the * status-table `statusRows` + `statusFetch`, the `activeMigrationSessionId`, and * the `sessionDetail` map (index it by id for a single session's detail). */ export declare const getInvoicingDataImportView: (state: RootState) => InvoicingDataImportView;