import * as Context from "effect/Context";
import * as Layer from "effect/Layer";
import * as Redacted from "effect/Redacted";
import { ConfigError } from "@distilled.cloud/core/errors";
/**
 * Default base URL for Azure Resource Manager (ARM) API.
 */
export declare const DEFAULT_API_BASE_URL = "https://management.azure.com";
export interface Config {
    /** OAuth2 Bearer token for authenticating with Azure. */
    readonly bearerToken: Redacted.Redacted<string>;
    /** Azure subscription ID used as a path parameter in most ARM operations. */
    readonly subscriptionId: string;
    /** Azure tenant (directory) ID. Required for some management plane operations. */
    readonly tenantId?: string;
    /** Base URL for the Azure API (defaults to management.azure.com). */
    readonly apiBaseUrl: string;
}
declare const Credentials_base: Context.ServiceClass<Credentials, "AzureCredentials", Config>;
export declare class Credentials extends Credentials_base {
}
/**
 * Reads Azure credentials from environment variables:
 *
 * - `AZURE_BEARER_TOKEN` — OAuth2 bearer token (required)
 * - `AZURE_SUBSCRIPTION_ID` — Azure subscription ID (required)
 * - `AZURE_TENANT_ID` — Azure tenant/directory ID (optional)
 * - `AZURE_API_BASE_URL` — Optional override for the API base URL
 */
export declare const CredentialsFromEnv: Layer.Layer<Credentials, ConfigError, never>;
export {};
//# sourceMappingURL=credentials.d.ts.map