/// import type { EventEmitter } from 'events'; import type { SinkMap } from '@rdf-esm/sink-map'; import type { RdfResource } from '@tpluscode/rdfine'; import type { DatasetIndexed } from 'rdf-dataset-indexed/dataset'; import type { DatasetCore, NamedNode, Stream } from 'rdf-js'; import type { ResourceCacheStrategy } from './ResourceCacheStrategy'; import type { ResourceRepresentation } from './ResourceRepresentation'; import type { ApiDocumentation, HydraResource } from './Resources'; import type { Operation } from './Resources/Operation'; import type { ResourceStore } from './ResourceStore'; import type { ResponseWrapper } from './ResponseWrapper'; import type { RootNodeCandidate } from './RootSelectors'; declare type InvokedOperation = Pick & { target: Pick; }; export interface HydraResponse = HydraResource> { representation?: ResourceRepresentation; response?: ResponseWrapper; } export interface HydraClient { log: (msg: string) => void; baseUri?: string; rootSelectors: [string, RootNodeCandidate][]; parsers: SinkMap; loadResource = HydraResource>(uri: string | NamedNode, headers?: HeadersInit): Promise>; loadDocumentation(uri: string | NamedNode, headers?: HeadersInit): Promise | null>; invokeOperation(operation: InvokedOperation, headers?: HeadersInit, body?: BodyInit): Promise>; defaultHeaders: HeadersInit | (() => HeadersInit | Promise); resources: ResourceStore; apiDocumentations: ResourceRepresentation>[]; cacheStrategy: ResourceCacheStrategy; } interface AlcaeusInit { rootSelectors: [string, RootNodeCandidate][]; resources: ResourceStore; datasetFactory: () => D; parsers?: SinkMap; fetch: typeof fetch; Headers: typeof Headers; } export declare class Alcaeus implements HydraClient { baseUri?: string; rootSelectors: [string, RootNodeCandidate][]; parsers: SinkMap; defaultHeaders: HeadersInit | (() => HeadersInit | Promise); log: (msg: string) => void; cacheStrategy: ResourceCacheStrategy; readonly resources: ResourceStore; private readonly __apiDocumentations; private readonly datasetFactory; private readonly _fetch; private readonly _headers; constructor(init: AlcaeusInit); get apiDocumentations(): ResourceRepresentation>[]; loadResource>(id: string | NamedNode, headers?: HeadersInit, dereferenceApiDocumentation?: boolean): Promise>; loadDocumentation(id: string | NamedNode, headers?: HeadersInit): Promise | null>; invokeOperation(operation: InvokedOperation, headers: HeadersInit, body?: BodyInit): Promise>; private __getApiDocumentation; private __mergeHeaders; private __findRootResource; } export {}; //# sourceMappingURL=alcaeus.d.ts.map