import { TransactionSpec } from "./internal/service-spec.js"; import { ServiceContext } from "./service.js"; export interface TransactionContext { /** *Information about the containing service. */ service: Omit; } export interface TransactionFunction { (input: Input, context: TransactionContext): Promise | Output; } export interface Transaction extends TransactionSpec { kind: "Transaction"; handler: TransactionFunction; (input: Input): Promise>; } export type TransactionInput = T extends Transaction ? Input : never; export type TransactionOutput = T extends Transaction ? Output : never; export declare function transaction(name: Name, handler: TransactionFunction): Transaction; //# sourceMappingURL=transaction.d.ts.map