//#region src/fastkv.d.ts
type NetworkId = "mainnet" | "testnet";
declare function getFastKvBaseUrlForNetwork(network: NetworkId): string;
declare function buildRegistryConfigUrl(accountId: string, gatewayId: string, registry?: string): string;
declare function buildRegistryConfigUrlForNetwork(network: NetworkId, accountId: string, gatewayId: string, registry?: string): string;
declare function getRegistryNamespaceForAccount(accountId: string, registry?: string): string;
declare function getRegistryNamespaceForNetwork(network: NetworkId, registry?: string): string;
declare function parseBosUrl(bosUrl: string): {
  accountId: string;
  gatewayId: string;
  pathSegments: string[];
};
declare function fetchBosConfigFromFastKv<T>(bosUrl: string, registry?: string): Promise<T>;
interface ConfigHistoryEntry {
  blockHeight: number;
  blockTimestampNs: string;
  txHash?: string;
  value: unknown;
}
/**
 * Publish history for the registry config key (atomic-deploys 11): the
 * exact-key variant of FastData's history endpoint, newest-first. The API
 * caps a page at 200 rows; a config key's write history fits well inside
 * that, so a single request is the whole story (the limit param is clamped).
 */
declare function fetchConfigHistory(opts: {
  accountId: string;
  gatewayId: string;
  registry?: string;
  limit?: number;
}): Promise<ConfigHistoryEntry[]>;
interface DeployManifestEntry {
  key: string;
  blockHeight: number;
  blockTimestampNs: string;
  value: unknown;
}
/**
 * The per-deploy audit trail (atomic-deploys 03/12): every publish writes
 * `apps/<account>/<gateway>/manifests/<ts>.json` atomically with the pointer
 * swap — this lists that key family newest-first via the history-by-prefix
 * endpoint.
 */
declare function fetchDeployManifests(opts: {
  accountId: string;
  gatewayId: string;
  registry?: string;
  limit?: number;
}): Promise<DeployManifestEntry[]>;
interface PluginManifest {
  schemaVersion: number;
  kind: string;
  plugin: {
    name: string;
    version: string;
  };
  runtime: {
    remoteEntry: string;
  };
  contract: {
    kind: string;
    types: {
      path: string;
      exportName: string;
      typeName: string;
      sha256: string;
    };
  };
  additionalExports?: Array<{
    path: string;
    exports: string[];
    sha256: string;
  }>;
}
declare function fetchRemotePluginManifest(cdnUrl: string): Promise<PluginManifest | null>;
//#endregion
export { ConfigHistoryEntry, DeployManifestEntry, NetworkId, PluginManifest, buildRegistryConfigUrl, buildRegistryConfigUrlForNetwork, fetchBosConfigFromFastKv, fetchConfigHistory, fetchDeployManifests, fetchRemotePluginManifest, getFastKvBaseUrlForNetwork, getRegistryNamespaceForAccount, getRegistryNamespaceForNetwork, parseBosUrl };
//# sourceMappingURL=fastkv.d.mts.map