import type { CanonicalObjectTypeRef } from '@xemahq/kernel-contracts/canonical-object'; import type { MintedToken } from '@xemahq/kernel-contracts/connector'; import type { Result } from './result'; export interface OutboundActionHandler { readonly action: string; readonly schema: JsonSchemaLike; execute(input: OutboundActionInput): Promise>; readonly canonical?: ActionCanonicalMapper; } export interface ActionCanonicalMapper { readonly objectType: CanonicalObjectTypeRef; fromCanonical(canonicalObject: Readonly>): Result>; } export interface OutboundActionInput { readonly credential: MintedToken; readonly params: Readonly>; } export interface OutboundActionResult { readonly externalId?: string; readonly outputs?: Readonly>; } export interface JsonSchemaLike { readonly $id?: string; readonly type?: 'object' | 'string' | 'number' | 'boolean' | 'array'; readonly properties?: Readonly>; readonly required?: readonly string[]; readonly items?: JsonSchemaLike; readonly enum?: readonly (string | number | boolean | null)[]; readonly description?: string; } //# sourceMappingURL=action.d.ts.map