import * as _$_hot_updater_plugin_core0 from "@hot-updater/plugin-core";
import { StoragePluginHooks, UniversalStoragePlugin } from "@hot-updater/plugin-core";

//#region src/standaloneRepository.d.ts
interface RouteConfig {
  path: string;
  headers?: Record<string, string>;
}
interface Routes {
  create?: () => RouteConfig;
  update?: (bundleId: string) => RouteConfig;
  list?: () => RouteConfig;
  channels?: () => RouteConfig;
  retrieve?: (bundleId: string) => RouteConfig;
  delete?: (bundleId: string) => RouteConfig;
}
interface StandaloneRepositoryConfig {
  baseUrl: string;
  commonHeaders?: Record<string, string>;
  routes?: Routes;
}
declare const standaloneRepository: (config: StandaloneRepositoryConfig, hooks?: _$_hot_updater_plugin_core0.DatabasePluginHooks) => () => _$_hot_updater_plugin_core0.DatabasePlugin<unknown>;
//#endregion
//#region src/standaloneStorage.d.ts
interface StorageRoutes {
  upload: (key: string, filePath: string) => RouteConfig;
  delete: (storageUri: string) => RouteConfig;
  readText: (storageUri: string) => RouteConfig;
  getDownloadUrl: (storageUri: string) => RouteConfig;
}
interface StandaloneStorageConfig {
  baseUrl: string;
  commonHeaders?: Record<string, string>;
  routes?: StorageRoutes;
}
declare const standaloneStorage: (config: StandaloneStorageConfig, hooks?: StoragePluginHooks) => () => UniversalStoragePlugin;
//#endregion
export { RouteConfig, Routes, StandaloneRepositoryConfig, StandaloneStorageConfig, StorageRoutes, standaloneRepository, standaloneStorage };