/** * Inventory loader — dynamically imports an inventory .ts file, validates its * shape, and resolves target specifiers to concrete host connection details. * * The loaded module must default-export an `Inventory` object. Target resolution * supports `@group` references, host names, comma-separated lists, and ad-hoc * `user@host:port` targets. */ import type { Inventory, InventoryModule, ResolvedHost } from "./types.ts"; /** * Load an inventory module from a `.ts` file path via dynamic `import()`. * * Validates: * - The module has a default export that is an object. * * Returns an `InventoryModule` with the resolved inventory and path. * Throws `InventoryError` on any failure. */ export declare function loadInventory(path: string): Promise; /** * Resolve target specifiers against an inventory to produce concrete hosts. * * Supports: * - `@groupName` -- all hosts in the named group * - `hostName` -- a named host in the inventory (standalone or in a group) * - `user@host:port` -- ad-hoc target (bypasses inventory) * - Comma-separated lists -- `web-1,web-2,@db` * * Throws `InventoryError` if a target cannot be resolved. */ export declare function resolveTargets(inventory: Inventory, targets: string[], inventoryPath?: string): ResolvedHost[]; //# sourceMappingURL=loader.d.ts.map