import type { ColumnType, JSONColumnType } from 'kysely'; import type { Address } from 'viem'; import type * as Db from '../Db.js'; import type * as db_Schema from '../Schema.js'; /** Columns of the `earn_vaults` table. */ export type Table = Omit & { /** Bigint chain id, read as a string from pg and written as a number. */ chainId: ColumnType; /** Tokens accepted for private deposits. */ privateInputTokens: JSONColumnType; /** Tokens supported for private redemptions. */ privateOutputTokens: JSONColumnType; /** Curated private Zone routes. */ zones: JSONColumnType; }; /** A stored curated Earn vault. */ export type Record = db_Schema.EarnVault; /** Reads one curated vault by chain and vault address. */ export declare function get(db: Db.Db, options: get.Options): Promise; export declare namespace get { /** Identity of one curated vault. */ type Options = { /** Chain the vault belongs to. */ chainId: number; /** Earn vault address. */ vaultAddress: string; }; } /** Lists curated vaults in stable chain and address order. */ export declare function list(db: Db.Db, options?: list.Options): Promise; export declare namespace list { /** Optional curated-vault filters. */ type Options = { /** Restrict results to one chain. */ chainId?: number | undefined; }; } /** Inserts or updates a curated vault while preserving its stable identity fields. */ export declare function upsert(db: Db.Db, options: upsert.Options): Promise; export declare namespace upsert { /** Curated fields stored for one verified vault. */ type Options = { /** Chain the vault belongs to. */ chainId: number; /** Curated vault description. */ description: string | null; /** Curated vault label. */ label: string; /** Tokens accepted for private deposits. */ privateInputTokens: readonly Address[]; /** Tokens supported for private redemptions. */ privateOutputTokens: readonly Address[]; /** Stable slug, generated from the label when omitted. */ slug?: string | undefined; /** Earn vault address. */ vaultAddress: Address; /** Curated private Zone routes. */ zones: db_Schema.EarnVault['zones']; }; } /** Removes one curated vault. */ export declare function remove(db: Db.Db, options: remove.Options): Promise; export declare namespace remove { /** Identity of one curated vault. */ type Options = { /** Chain the vault belongs to. */ chainId: number; /** Earn vault address. */ vaultAddress: string; }; } //# sourceMappingURL=earnVaults.d.ts.map