import { EntitiesService, ListingService, SearchService } from '@iqser/common-ui';
import { FilterService } from '@iqser/common-ui/lib/filtering';
import { SortingService } from '@iqser/common-ui/lib/sorting';
import { dossiersServiceProvider } from '@services/entity-services/dossiers.service.provider';
import { AnnotationActionsService } from './services/annotation-actions.service';
import { AnnotationProcessingService } from './services/annotation-processing.service';
import { AnnotationReferencesService } from './services/annotation-references.service';
import { AnnotationsListingService } from './services/annotations-listing.service';
import { DocumentInfoService } from './services/document-info.service';
import { ExcludedPagesService } from './services/excluded-pages.service';
import { FileDataService } from './services/file-data.service';
import { FilePreviewStateService } from './services/file-preview-state.service';
import { MultiSelectService } from './services/multi-select.service';
import { PdfAnnotationActionsService } from './services/pdf-annotation-actions.service';
import { PdfProxyService } from './services/pdf-proxy.service';
import { SkippedService } from './services/skipped.service';
import { StampService } from './services/stamp.service';
import { ViewModeService } from './services/view-mode.service';

export const filePreviewScreenProviders = [
    FilterService,
    ExcludedPagesService,
    ViewModeService,
    MultiSelectService,
    DocumentInfoService,
    SkippedService,
    AnnotationActionsService,
    PdfAnnotationActionsService,
    FilePreviewStateService,
    AnnotationReferencesService,
    AnnotationProcessingService,
    FileDataService,
    { provide: EntitiesService, useExisting: FileDataService },
    dossiersServiceProvider,
    AnnotationsListingService,
    { provide: ListingService, useExisting: AnnotationsListingService },
    SortingService,
    SearchService,
    StampService,
    PdfProxyService,
];
