import { Services } from "@distilled.cloud/hetzner";
import * as Effect from "effect/Effect";
export type CatalogKind = "location" | "serverType" | "image" | "iso" | "loadBalancerType";
declare const CatalogNotFound_base: new = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
readonly _tag: "Hetzner.CatalogNotFound";
} & Readonly;
export declare class CatalogNotFound extends CatalogNotFound_base<{
kind: CatalogKind;
ref: string;
}> {
}
/**
* Resolve a Hetzner Location by name (`nbg1`, `fsn1`, `hel1`, …) or
* numeric id.
*/
export declare const findLocation: (ref: string | number) => Effect.Effect;
/**
* Resolve a Hetzner Server Type by name (`cx22`, `cpx11`, …) or numeric id.
*/
export declare const findServerType: (ref: string | number) => Effect.Effect;
/**
* Resolve a Hetzner Image by name (`ubuntu-24.04`, …) or numeric id.
*/
export declare const findImage: (ref: string | number) => Effect.Effect;
/**
* Resolve a Hetzner ISO by name or numeric id.
*/
export declare const findIso: (ref: string | number) => Effect.Effect;
/**
* Resolve a Hetzner Load Balancer Type by name (`lb11`, `lb21`, …) or
* numeric id.
*/
export declare const findLoadBalancerType: (ref: string | number) => Effect.Effect;
export {};
//# sourceMappingURL=Catalog.d.ts.map