import { UriBuilder } from './uri-builder'; /** Represents the defined API versions. */ export declare enum ApiVersion { /** Gets the API version for 2018-04-01. */ v2018_04_01 = "2018-04-01", /** Gets the API version for 2019-02-01. */ v2019_02_01 = "2019-02-01", /** Gets the intial API version (2018-04-01). */ Initial = "2018-04-01", /** Gets the latest API version (2019-02-01). */ Latest = "2019-02-01" } /** Represents an object that can build URL to the gateway. */ export declare class GatewayUrlBuilder { private builder; /** * Initializes a new instance of the GatewayUrlBuilder class. * @param uri The string or URL to initialize the builder from. */ constructor(uri: string | URL); /** * Indicates the builder should use a specified API version. * @param apiVersion The API version to use. * @returns The original builder. */ useApiVersion(apiVersion: ApiVersion): GatewayUrlBuilder; /** * Creates and returns a builder for a specific node. * @param name The name of the node to create a builder for. * @returns A new node URL builder. */ node(name: string): NodeUrlBuilder; } /** Represents an object that can build URLs for a particular node. */ export declare class NodeUrlBuilder { private builder; /** * Initializes a new instance of the NodeUrlBuilder class. * @param builder The current UriBuilder. * @param node The name of the node the URL is being built for. */ constructor(builder: UriBuilder, node: string); /** Makes the current URL builder relative from this point forward. */ makeRelative(): NodeUrlBuilder; /** Gets a builder for the file transfer feature. **/ fileTransfer(): FileTransferUrlBuilder; } /** Represents an object that builds the file URL for an API. */ export declare class ApiUrlBuilder { private builder; /** * Initializes a new instance of the ApiUrlBuilder class. * @param builder The current UriBuilder. */ constructor(builder: UriBuilder); /** Builds and returns the current URL. */ build(): string; } /** Represents an object that can build URLs for a particular feature. */ export declare abstract class FeatureUrlBuilder { protected builder: UriBuilder; /** * Initializes a new instance of the FeatureUrlBuilder class. * @param builder The current UriBuilder. * @param node The name of the feature the URL is being built for. */ constructor(builder: UriBuilder, name: string); } /** Represents an object that can build URLs for file transfers. */ export declare class FileTransferUrlBuilder extends FeatureUrlBuilder { /** * Initializes a new instance of the FileTransferUrlBuilder class. * @param builder The current UriBuilder. */ constructor(builder: UriBuilder); /** * Adds the specified file path to the URL. * @param path The path of the file to use. */ file(path: string): ApiUrlBuilder; }