/* tslint:disable */

/**
/* This file was automatically generated from pydantic models by running pydantic2ts.
/* Do not modify it by hand - just update the pydantic models and then re-run the script
*/

export interface AdminAboutInfo {
  production: boolean;
  version: string;
  demoStatus: boolean;
  allowSignup: boolean;
  allowPasswordLogin: boolean;
  defaultGroupSlug?: string | null;
  defaultHouseholdSlug?: string | null;
  enableOidc: boolean;
  oidcRedirect: boolean;
  oidcProviderName: string;
  enableOpenai: boolean;
  enableOpenaiImageServices: boolean;
  enableOpenaiTranscriptionServices: boolean;
  tokenTime: number;
  versionLatest: string;
  apiPort: number;
  apiDocs: boolean;
  dbType: string;
  dbUrl?: string | null;
  defaultGroup: string;
  defaultHousehold: string;
  buildId: string;
  recipeScraperVersion: string;
}
export interface AllBackups {
  imports: BackupFile[];
  templates: string[];
}
export interface BackupFile {
  name: string;
  date: string;
  size: string;
}
export interface AppInfo {
  production: boolean;
  version: string;
  demoStatus: boolean;
  allowSignup: boolean;
  allowPasswordLogin: boolean;
  defaultGroupSlug?: string | null;
  defaultHouseholdSlug?: string | null;
  enableOidc: boolean;
  oidcRedirect: boolean;
  oidcProviderName: string;
  enableOpenai: boolean;
  enableOpenaiImageServices: boolean;
  enableOpenaiTranscriptionServices: boolean;
  tokenTime: number;
}
export interface AppStartupInfo {
  isFirstLogin: boolean;
  isDemo: boolean;
}
export interface AppStatistics {
  totalRecipes: number;
  totalUsers: number;
  totalHouseholds: number;
  totalGroups: number;
  uncategorizedRecipes: number;
  untaggedRecipes: number;
}
export interface AppTheme {
  lightPrimary?: string;
  lightAccent?: string;
  lightSecondary?: string;
  lightSuccess?: string;
  lightInfo?: string;
  lightWarning?: string;
  lightError?: string;
  darkPrimary?: string;
  darkAccent?: string;
  darkSecondary?: string;
  darkSuccess?: string;
  darkInfo?: string;
  darkWarning?: string;
  darkError?: string;
}
export interface BackupOptions {
  recipes?: boolean;
  settings?: boolean;
  themes?: boolean;
  groups?: boolean;
  users?: boolean;
  notifications?: boolean;
}
export interface CheckAppConfig {
  emailReady: boolean;
  ldapReady: boolean;
  oidcReady: boolean;
  enableOpenai: boolean;
  baseUrlSet: boolean;
  isUpToDate: boolean;
}
export interface ChowdownURL {
  url: string;
}
export interface CommentImport {
  name: string;
  status: boolean;
  exception?: string | null;
}
export interface CreateBackup {
  tag?: string | null;
  options: BackupOptions;
  templates?: string[] | null;
}
export interface DebugResponse {
  success: boolean;
  response?: string | null;
}
export interface EmailReady {
  ready: boolean;
}
export interface EmailSuccess {
  success: boolean;
  error?: string | null;
}
export interface EmailTest {
  email: string;
}
export interface GroupImport {
  name: string;
  status: boolean;
  exception?: string | null;
}
export interface ImportBase {
  name: string;
  status: boolean;
  exception?: string | null;
}
export interface ImportJob {
  recipes?: boolean;
  settings?: boolean;
  themes?: boolean;
  groups?: boolean;
  users?: boolean;
  notifications?: boolean;
  name: string;
  force?: boolean;
  rebase?: boolean;
}
export interface MaintenanceLogs {
  logs: string[];
}
export interface MaintenanceStorageDetails {
  tempDirSize: string;
  backupsDirSize: string;
  groupsDirSize: string;
  recipesDirSize: string;
  userDirSize: string;
}
export interface MaintenanceSummary {
  dataDirSize: string;
  cleanableImages: number;
  cleanableDirs: number;
}
export interface MigrationFile {
  name: string;
  date: string;
}
export interface MigrationImport {
  name: string;
  status: boolean;
  exception?: string | null;
  slug?: string | null;
}
export interface Migrations {
  type: string;
  files?: MigrationFile[];
}
export interface RecipeImport {
  name: string;
  status: boolean;
  exception?: string | null;
  slug?: string | null;
}
export interface SettingsImport {
  name: string;
  status: boolean;
  exception?: string | null;
}
export interface UserImport {
  name: string;
  status: boolean;
  exception?: string | null;
}
