/**
 * Copyright IBM Corp. 2024, 2025
 */

import { IStudioEditorIndexedDbHandler } from "./editor-indexed-db.interface.js";
import { IStudioFileSystemIndexedDbHandler } from "./file-system-indexed-db.interface.js";
import { IStudioFilterIndexedDbHandler } from "./filter-indexed-db.interface.js";
import { IStudioGatewayIndexedDbHandler } from "./gateway-indexed-db.interface.js";
import { IStudioProjectIndexedDbHandler } from "./project-indexed-db.interface.js";
import { IStudioVcsIndexedDbHandler } from "./vcs-indexed-db.interface.js";

export interface IStudioIndexedDbFactory {
  getStudioEditorIndexedDbHandler(): Promise<IStudioEditorIndexedDbHandler>;
  getStudioFileSystemIndexedDbHandler(): Promise<IStudioFileSystemIndexedDbHandler>;
  getStudioFilterIndexedDbHandler(): Promise<IStudioFilterIndexedDbHandler>;
  getStudioGatewayIndexedDbHandler(): Promise<IStudioGatewayIndexedDbHandler>;
  getStudioProjectIndexedDbHandler(): Promise<IStudioProjectIndexedDbHandler>;
  getStudioVcsIndexedDbHandler(): Promise<IStudioVcsIndexedDbHandler>;
}
