import { AxiosInstance } from "axios"; import Base, { MaybeRaw, Options } from "../../../../Base"; import { Catalog, CatalogRegistry, Engine, EngineRegistry, StreamNodeSpecifications, StreamNodeSpecificationWrappedWithEngineVersion, WildcardRegistry } from "../../../../interfaces/high5"; import { Release } from "../../../../interfaces/high5/wave/changelog"; /** * Class for reading the S3 bucket of a wave engine and catalogs */ export declare class S3 extends Base { constructor(options: Options, axios: AxiosInstance); /** * Get the registry.json of the default wave catalog from the S3 bucket * @param waveBucketUrl Public base url to S3 bucket * @returns registry.json */ getCatalogRegistry(waveBucketUrl: string, raw?: { raw: R; }): Promise>; /** * Get the registry.json of the default wave engine from the S3 bucket * @param waveBucketUrl Public base url to S3 bucket * @returns registry.json */ getEngineRegistry(waveBucketUrl: string, raw?: { raw: R; }): Promise>; /** * Get the catalog.json from the S3 bucket * @param catalogUrl Public url of the catalog * @returns index.json of catalog */ getCatalog(catalogUrl: string, raw?: { raw: R; }): Promise>; /** * Get the catalog.json from the S3 bucket * @param catalogUrl Public url of the catalog * @returns index.json of catalog */ getEngine(engineUrl: string, raw?: { raw: R; }): Promise>; /** * Get a list of available wildcards of a specific engine version from the S3 bucket * @param engineUrl Public url of the engine * @param engineVersion Version of the enigne * @returns Wildcards.json list of available wildcards */ getWildcardsOfEngine(engineUrl: string, engineVersion: string, raw?: { raw: R; }): Promise>; /** * Get the node specifications of all nodes of a specific catalog version from the S3 bucket * @param catalogUrl Public url of the catalog * @param version The catalog version * @returns StreamNodeSpecification[] | StreamNodeSpecificationWrappedWithEngineVersion an array of all node specification of that catalog version, maybe wrapped in an object with the engine version */ getCatalogVersion(catalogUrl: string, version: string, raw?: { raw: R; }): Promise>; /** * Get the node documentation from the S3 bucket * @param catalogUrl Public url of the catalog * @param version The catalog version * @returns string the markdown documentation of the node */ getNodeDocumentation(catalogUrl: string, version: string, nodeName: string, raw?: { raw: R; }): Promise>; /** * Get the catalogs changelog from the S3 bucket * @param catalogUrl Public url of the catalog * @returns string the changelog.json of the node */ getChangelog(catalogUrl: string, raw?: { raw: R; }): Promise>; protected getEndpoint(): string; }