import type { Selectable } from 'kysely'; import type * as Db from '../Db.js'; import type * as db_Schema from '../Schema.js'; /** Columns of the `funding_transfer_transactions` table. */ export type Table = db_Schema.FundingTransferTransaction; /** One verified transaction reference on a transfer. */ export type Record = Selectable; /** * Inserts a transaction reference, lowercasing EVM hashes while preserving * other references. Repeats return `undefined`; conflicting source ownership throws. */ export declare function insert(db: Db.Db, record: Record): Promise; /** Claims a source transaction for one transfer without racing another transfer. */ export declare function claimSource(db: Db.Db, record: Record): Promise; export declare namespace claimSource { /** Source transaction ownership outcome. */ type Result = { record: Record; type: 'claimed'; } | { record: Record; type: 'replayed'; } | { type: 'conflict'; }; } /** Gets the transfer that owns one source transaction reference. */ export declare function getSource(db: Db.Db, options: getSource.Options): Promise; export declare namespace getSource { /** Source transaction identity. */ type Options = { /** CAIP-2 chain containing the transaction. */ chainId: string; /** EVM transaction hash or case-sensitive chain reference. */ transactionRef: string; }; } /** Removes one source transaction only when the transfer still owns it. */ export declare function removeSource(db: Db.Db, options: removeSource.Options): Promise; export declare namespace removeSource { /** Exact source evidence identity and owner. */ type Options = { /** CAIP-2 chain containing the transaction. */ chainId: string; /** Source transaction reference. */ transactionHash: string; /** Owning transfer id (`ftr_…`). */ transferId: string; }; } /** Lists a transfer's transaction references, oldest first. */ export declare function listByTransfer(db: Db.Db, transferId: string): Promise; //# sourceMappingURL=fundingTransferTransactions.d.ts.map