import * as Redacted from "effect/Redacted"; import { CredentialsStore } from "../Auth/Credentials.ts"; import { AlchemyProfile } from "../Auth/Profile.ts"; export declare const HETZNER_AUTH_PROVIDER_NAME = "Hetzner"; export declare const HCLOUD_TOKEN_ENV = "HCLOUD_TOKEN"; export declare const HCLOUD_ENDPOINT_ENV = "HCLOUD_ENDPOINT"; export type HetznerAuthConfig = { method: "env"; } | { method: "stored"; }; export type HetznerStoredCredentials = { type: "token"; token: string; apiBaseUrl?: string; }; export type HetznerResolvedCredentials = { type: "token"; token: Redacted.Redacted; apiBaseUrl: string; source: { type: HetznerAuthConfig["method"]; details?: string; }; }; /** * Layer that registers the Hetzner {@link AuthProvider} into the * {@link AuthProviders} registry. Include this in the Hetzner * `providers()` layer so `alchemy login` can discover it. * * Auth is a Hetzner Cloud API token (`HCLOUD_TOKEN`). The token is * issued per project in the Cloud Console — there is no account-wide * token. An optional `HCLOUD_ENDPOINT` overrides the API root * (default `https://api.hetzner.cloud/v1`). */ export declare const HetznerAuth: import("effect/Layer").Layer; //# sourceMappingURL=AuthProvider.d.ts.map