import { ChainCallDTO, ClassConstructor, GalaChainResponse, Inferred, MethodAPI, Primitive, SubmitCallDTO } from "@gala-chain/api"; import { GalaChainContext } from "../types"; import { GalaContract } from "./GalaContract"; export declare enum GalaTransactionType { EVALUATE = 0, SUBMIT = 1 } declare const SUBMIT: GalaTransactionType, EVALUATE: GalaTransactionType; type GalaTransactionDecoratorFunction = (target: GalaContract, propertyKey: string, descriptor: TypedPropertyDescriptor) => void; type OutType = ClassConstructor | Primitive; type OutArrType = { arrayOf: OutType; }; export type GalaTransactionBeforeFn = (ctx: GalaChainContext, dto: In) => Promise; export type GalaTransactionAfterFn = (ctx: GalaChainContext, dto: In, result: GalaChainResponse) => Promise; export interface CommonTransactionOptions { deprecated?: true; description?: string; in?: ClassConstructor>; out?: OutType | OutArrType; /** @deprecated */ allowedOrgs?: string[]; allowedRoles?: string[]; allowedOriginChaincodes?: string[]; quorum?: number; apiMethodName?: string; sequence?: MethodAPI[]; before?: GalaTransactionBeforeFn; after?: GalaTransactionAfterFn; } export interface GalaTransactionOptions extends CommonTransactionOptions { type: GalaTransactionType; verifySignature?: true; enforceUniqueKey?: true; } export type GalaSubmitOptions = CommonTransactionOptions; export interface GalaEvaluateOptions extends CommonTransactionOptions { verifySignature?: true; } declare function Submit(options: GalaSubmitOptions): GalaTransactionDecoratorFunction; declare function Evaluate(options: GalaEvaluateOptions): GalaTransactionDecoratorFunction; declare function UnsignedEvaluate(options: CommonTransactionOptions): GalaTransactionDecoratorFunction; declare function GalaTransaction(options: GalaTransactionOptions): GalaTransactionDecoratorFunction; export { Submit, Evaluate, UnsignedEvaluate, SUBMIT, EVALUATE, GalaTransaction }; //# sourceMappingURL=GalaTransaction.d.ts.map