import type { JSONColumnType } from 'kysely'; import type * as Db from '../Db.js'; import type * as db_Schema from '../Schema.js'; /** Columns of the `routes_catalogs` table. */ export type CatalogTable = db_Schema.RoutesCatalog; /** Columns of the `routes_chains` table. */ export type ChainTable = Omit & { /** Caller-facing chain aliases stored as JSON. */ aliases: JSONColumnType; /** Public RPC endpoints stored as JSON. */ rpcUrls: JSONColumnType; }; /** Columns of the `routes_tokens` table. */ export type TokenTable = db_Schema.RoutesToken; /** Columns of the `routes_chain_tokens` table. */ export type ChainTokenTable = db_Schema.RoutesChainToken; /** Columns of the `routes_routes` table. */ export type RouteTable = db_Schema.RoutesRoute; /** A route row whose optional JSON fields may be absent in validated input. */ export type RouteRow = Omit & { /** Executable capability; absent and null both mean indicative-only. */ capabilities?: db_Schema.RoutesRoute['capabilities'] | undefined; /** Provider-specific route configuration; absent and null are equivalent. */ configuration?: db_Schema.RoutesRoute['configuration'] | undefined; }; /** Stored route catalog rows and version metadata. */ export type Rows = { /** Current catalog metadata, or undefined before the first publish. */ catalog: db_Schema.RoutesCatalog | undefined; /** Chain-scoped route token rows. */ chainTokens: readonly db_Schema.RoutesChainToken[]; /** Route chain rows. */ chains: readonly db_Schema.RoutesChain[]; /** Route provider route rows. */ routes: readonly RouteRow[]; /** Route token rows. */ tokens: readonly db_Schema.RoutesToken[]; }; /** Reads the current route catalog version metadata. */ export declare function head(db: Db.Db): Promise; /** Reads every row in the current route catalog. */ export declare function read(db: Db.Db): Promise; /** Replaces the complete route catalog and advances its version. */ export declare function publish(db: Db.Db, input: publish.Input): Promise; export declare namespace publish { /** Complete validated route catalog rows. */ type Input = { /** Chain-scoped route token rows. */ chainTokens: readonly db_Schema.RoutesChainToken[]; /** Route chain rows. */ chains: readonly db_Schema.RoutesChain[]; /** Route provider route rows. */ routes: readonly RouteRow[]; /** Route token rows. */ tokens: readonly db_Schema.RoutesToken[]; }; } //# sourceMappingURL=routesCatalog.d.ts.map