import { Asset } from "./asset"; /** * An {@link Archive} represents a collection of named assets. */ export declare abstract class Archive { /** * Returns true if the given object is an {@link Archive}. This is designed * to work even when multiple copies of the Pulumi SDK have been loaded into * the same process. */ static isInstance(obj: any): obj is Archive; } /** * A map of assets. */ export declare type AssetMap = { [name: string]: Asset | Archive; }; /** * An {@link AssetArchive} is an archive created from an in-memory collection of * named assets or other archives. */ export declare class AssetArchive extends Archive { /** * A map of names to assets. */ readonly assets: Promise; constructor(assets: AssetMap | Promise); } /** * A {@link FileArchive} is a file-based archive, or a collection of file-based * assets. This can be a raw directory or a single archive file in one of the * supported formats (`.tar`, `.tar.gz`, or `.zip`). */ export declare class FileArchive extends Archive { /** * The path to the asset file. */ readonly path: Promise; constructor(path: string | Promise); } /** * A {@link RemoteArchive} is a file-based archive fetched from a remote * location. The URI's scheme dictates the protocol for fetching the archive's * contents: `file://` is a local file (just like a {@link FileArchive}), * `http://` and `https://` specify HTTP and HTTPS, respectively, and specific * providers may recognize custom schemes. */ export declare class RemoteArchive extends Archive { /** * The URI where the archive lives. */ readonly uri: Promise; constructor(uri: string | Promise); }