import { a as BucketFile, F as FileInfo, W as WriteContent, c as WriteOptions, B as Bucket, b as BucketInfo } from '../types-ANca2IFa.js'; type AzureFileAuth = { type: "shared-key"; key: string; } | { type: "managed-identity"; getToken: () => Promise; }; declare class AzureFile implements BucketFile { #private; name: string; path: string; constructor(path: string, account: string, container: string, auth: AzureFileAuth, url?: string, prefix?: string); slice(start: number, end?: number): AzureFile; info(): Promise; exists(): Promise; text(): Promise; json(): Promise; arrayBuffer(): Promise; blob(): Promise; bytes(): Promise; write(content: WriteContent, options?: WriteOptions): Promise; copyTo(dest: string | BucketFile): Promise; moveTo(dest: string | BucketFile): Promise; rename(name: string): Promise; remove(): Promise; unlink(): Promise; stream(): ReadableStream; nodeReadable(): NodeJS.ReadableStream; writable(options?: WriteOptions): WritableStream; nodeWritable(options?: WriteOptions): NodeJS.WritableStream; publicUrl(): Promise; signedUrl(opts: { expires: number | string; }): Promise; uploadUrl(opts: { expires: number | string; }): Promise; } interface AzureConfig { /** Storage account name (falls back to `AZURE_ACCOUNT`) */ account?: string; /** Base64-encoded storage account key (falls back to `AZURE_KEY`). * Omit to use Managed Identity (Azure VMs, App Service, Container Apps, etc.) */ key?: string; /** Override the blob host (falls back to `AZURE_URL`). Use for the Azurite * emulator or sovereign clouds, e.g. `http://127.0.0.1:10000/devstoreaccount1`. */ url?: string; /** Full Azure connection string (falls back to `AZURE_CONNECTION_STRING`). * When present, its account, key, and BlobEndpoint are used. */ connectionString?: string; } declare class AzureBucket implements Bucket { #private; readonly type = "AZURE"; PREFIX: string; constructor(account?: string, container?: string, key?: string, url?: string); info(): Promise; scan(filter?: RegExp): AsyncGenerator; list(filter?: RegExp): Promise; file(name: string): AzureFile; folder(path: string): AzureBucket; remove(filter?: RegExp): Promise; count(filter?: RegExp): Promise; [Symbol.asyncIterator](): AsyncGenerator; } /** * Create an Azure Blob Storage container handle. * * @param container - Container name (falls back to `AZURE_CONTAINER` env var) * @param config.account - Storage account name (falls back to `AZURE_ACCOUNT`) * @param config.key - Base64-encoded storage account key (falls back to `AZURE_KEY`). * Omit to use Managed Identity (Azure VMs, App Service, Container Apps, etc.) * @param config.url - Override the blob host (falls back to `AZURE_URL`). Use for * the Azurite emulator or sovereign clouds, e.g. * `http://127.0.0.1:10000/devstoreaccount1`. * @param config.connectionString - Full Azure connection string (falls back to * `AZURE_CONNECTION_STRING`). Its account, key, and BlobEndpoint are used. * * @example * // Static credentials * const bucket = Azure("mycontainer", { account: "myaccount", key: "base64key==" }); * * @example * // Connection string * const bucket = Azure("mycontainer", { * connectionString: "DefaultEndpointsProtocol=https;AccountName=...;AccountKey=...;", * }); * * @example * // Managed Identity (no key needed on Azure-hosted infra) * const bucket = Azure("mycontainer", { account: "myaccount" }); */ declare function Azure(container?: string, config?: AzureConfig): AzureBucket; export { type AzureConfig, Bucket, BucketFile, BucketInfo, FileInfo, WriteContent, WriteOptions, Azure as default };