export interface Store {
  globalMask: boolean;

  env: {
    server: Server;
    loginName: string;
    password: string;
    user: {
      campusId: number;
      schoolId: number;
      userId: number;
      userName: string;
      userRole: string;
    };
    exam: {
      id: number;
      name: string;
      examTime: string;
    };
    examId: number;
  };

  config: {
    db: DB;
    imageUrl: ImageURL;
    watermark: Watermark;
    logger: Logger;
    openDevTools: boolean;
    servers: Server[];
  };

  pageInputs: {
    "/image-download": {
      type: string;
      template: string;
      dir: string;
      append: boolean;
      failover: boolean;
      watermark: boolean;
      trackMode: string;
      examNumber?: string;
      subjectCode?: string;
    };
  };
}

export interface DB {
  host: string;
  post: number;
  user: string;
  password: string;
  database: string;
}

export interface ImageURL {
  sheet: string;
  package: string;
}

export interface Logger {
  level: string;
}

export interface Server {
  name: string;
  host: string;
}

export interface Watermark {
  fontFile: string;
  fontSize: number;
  color: string;
}
