import { GalleryManager } from './managers/gallery.js'; import { TagManager } from './managers/tag.js'; import { TransportFunction, OnRequestFunction, ComputeHashFunction } from './platform/shared.js'; /** * Options for creating a hitomi client. * * @template T The platform-specific request options type. * @see {@link Hitomi} */ interface HitomiOptions { /** * A custom HTTPS agent for connection pooling. * * @default new Agent({ keepAlive: true }) * @deprecated Use {@link onRequest} instead. This option takes precedence over `onRequest` when set. Will be removed in v10. */ agent?: unknown; /** * A custom transport function for making HTTPS requests. */ transport?: TransportFunction; /** * A hook function invoked before each HTTP request. */ onRequest?: OnRequestFunction; /** * A custom function for computing SHA-256 hashes. */ computeHash?: ComputeHashFunction; /** * Maximum age in milliseconds, before the cached index version is refreshed. * * @default 600000 */ indexMaximumAge?: number; /** * Maximum age in milliseconds, before the cached image URL context is refreshed. * * @default 3600000 */ imageContextMaximumAge?: number; } /** * A client for interacting with the Hitomi API. */ declare class Hitomi { /** * A manager for retrieving and listing galleries. * * @type {GalleryManager} * @readonly * @see {@link GalleryManager} */ readonly galleries: GalleryManager; /** * A manager for creating, parsing, searching, and listing tags. * * @type {TagManager} * @readonly * @see {@link TagManager} */ readonly tags: TagManager; /** * Creates a new Hitomi client. * * @param {HitomiOptions} [options] The configuration options for the client. * @throws {HitomiError} If `options.indexMaximumAge` or `options.imageContextMaximumAge` is provided as a negative integer. */ constructor(options?: HitomiOptions); } export { Hitomi }; export type { HitomiOptions };