import AppSectionState, { AppSectionDeleteState, AppSectionItemSchemaState, AppSectionItemState, AppSectionSaveState, PagedAppSectionState, } from 'App/State/AppSectionState'; import Language from 'Language/Language'; import CustomFormat from 'typings/CustomFormat'; import DownloadClient from 'typings/DownloadClient'; import ImportList from 'typings/ImportList'; import ImportListExclusion from 'typings/ImportListExclusion'; import ImportListOptionsSettings from 'typings/ImportListOptionsSettings'; import Indexer from 'typings/Indexer'; import IndexerFlag from 'typings/IndexerFlag'; import Notification from 'typings/Notification'; import QualityProfile from 'typings/QualityProfile'; import General from 'typings/Settings/General'; import NamingConfig from 'typings/Settings/NamingConfig'; import NamingExample from 'typings/Settings/NamingExample'; import ReleaseProfile from 'typings/Settings/ReleaseProfile'; import UiSettings from 'typings/Settings/UiSettings'; import MetadataAppState from './MetadataAppState'; export interface DownloadClientAppState extends AppSectionState, AppSectionDeleteState, AppSectionSaveState { isTestingAll: boolean; } export interface GeneralAppState extends AppSectionItemState, AppSectionSaveState {} export interface NamingAppState extends AppSectionItemState, AppSectionSaveState {} export type NamingExamplesAppState = AppSectionItemState; export interface ImportListAppState extends AppSectionState, AppSectionDeleteState, AppSectionSaveState {} export interface IndexerAppState extends AppSectionState, AppSectionDeleteState, AppSectionSaveState { isTestingAll: boolean; } export interface NotificationAppState extends AppSectionState, AppSectionDeleteState {} export interface QualityProfilesAppState extends AppSectionState, AppSectionItemSchemaState {} export interface ReleaseProfilesAppState extends AppSectionState, AppSectionSaveState { pendingChanges: Partial; } export interface CustomFormatAppState extends AppSectionState, AppSectionDeleteState, AppSectionSaveState {} export interface ImportListOptionsSettingsAppState extends AppSectionItemState, AppSectionSaveState {} export interface ImportListExclusionsSettingsAppState extends AppSectionState, AppSectionSaveState, PagedAppSectionState, AppSectionDeleteState { pendingChanges: Partial; } export type IndexerFlagSettingsAppState = AppSectionState; export type LanguageSettingsAppState = AppSectionState; export type UiSettingsAppState = AppSectionItemState; interface SettingsAppState { advancedSettings: boolean; customFormats: CustomFormatAppState; downloadClients: DownloadClientAppState; general: GeneralAppState; importListExclusions: ImportListExclusionsSettingsAppState; importListOptions: ImportListOptionsSettingsAppState; importLists: ImportListAppState; indexerFlags: IndexerFlagSettingsAppState; indexers: IndexerAppState; languages: LanguageSettingsAppState; metadata: MetadataAppState; naming: NamingAppState; namingExamples: NamingExamplesAppState; notifications: NotificationAppState; qualityProfiles: QualityProfilesAppState; releaseProfiles: ReleaseProfilesAppState; ui: UiSettingsAppState; } export default SettingsAppState;