import { H as HostConfigInputV2, C as CanonicalHostConfigV2 } from '../types-DCvvhNDX.js';
export { a as HOST_CONFIG_SCHEMA_VERSION_V2, b as HostConfigConnectionDefaults, c as HostConfigMcpProfileV1, S as SEP_1865_PERMISSION_FEATURES } from '../types-DCvvhNDX.js';
import '../mcp-protocol-version-cf74324S.js';

/**
 * HostConfig v2 canonicalizer — pure, browser-safe, byte-stable.
 *
 * SOURCE OF TRUTH (hand-mirrored by `convex/lib/hostConfigV2.ts`). Stable key
 * ordering matters for hash stability across runtimes: we JSON.stringify the
 * canonical object; Object.keys preserves insertion order, so we build output
 * with a fixed key order rather than spreading user input. Any behavior change
 * here must be mirrored in the backend in lockstep and the parity fixtures
 * regenerated (see `./types.ts` header).
 */

declare function canonicalizeHostConfigV2(input: HostConfigInputV2): CanonicalHostConfigV2;

/**
 * HostConfig v2 content hash — Web Crypto, ASYNC.
 *
 * Uses `crypto.subtle` (available in the browser, Node >= 20, and the Convex
 * isolate), so this is the single portable hashing path. There is
 * deliberately NO synchronous variant: the backend mirror is already async
 * (`convex/lib/keys.ts:sha256Hex` + `computeHostConfigHashV2`), so SDK and
 * backend stay byte-identical with zero call-site divergence. If a sync need
 * ever arises, add an explicit `*Sync` API backed by a vendored SHA-256
 * rather than making the default ambiguous.
 */

declare function sha256Hex(input: string): Promise<string>;
/**
 * Canonicalize `input` and return the sha256 of its canonical JSON. This is
 * the content-address used to dedupe persisted host-config rows; the backend
 * recomputes the same value to integrity-check client-supplied configs.
 */
declare function computeHostConfigHashV2(input: HostConfigInputV2): Promise<string>;

export { CanonicalHostConfigV2, HostConfigInputV2, canonicalizeHostConfigV2, computeHostConfigHashV2, sha256Hex };
