import { CancellablePromise, RecursiveRecord, CacheStore } from '@dvcol/common-utils'; import { BaseRequest, BaseTemplateOptions, BaseTemplate, BaseInit } from './base-template.model.js'; type BaseQuery = { /** The request information. */ request: R; /** The query promise. */ query: CancellablePromise; }; type BaseSettings = S & { /** The domain name (i.e. https://api.domain.ext) */ endpoint: string; /** A cors proxy endpoint to use for requests when in a browser */ corsProxy?: string; /** A cors prefix to use for requests when in a browser */ corsPrefix?: string; }; type BaseOptions = S & { /** Optional cache store to manage cache read/write */ cacheStore?: CacheStore; }; type BaseTransformed

= { template: BaseTemplate; params: P; init: BaseInit; }; export type { BaseOptions, BaseQuery, BaseSettings, BaseTransformed };