import { Holding, TransferInstructionView } from './types.js'; import { type LedgerCommonSchemas } from '@canton-network/core-ledger-client-types'; type ArchivedEvent = LedgerCommonSchemas['ArchivedEvent']; type CreatedEvent = LedgerCommonSchemas['CreatedEvent']; type ExercisedEvent = LedgerCommonSchemas['ExercisedEvent']; type JsInterfaceView = LedgerCommonSchemas['JsInterfaceView']; export declare function hasInterface(interfaceId: string, event: ExercisedEvent | ArchivedEvent): boolean; export declare function getInterfaceView(createdEvent: CreatedEvent): JsInterfaceView | null; export type KnownInterfaceView = { type: 'Holding'; viewValue: Holding; } | { type: 'TransferInstruction'; viewValue: TransferInstructionView; }; export declare function getKnownInterfaceView(createdEvent: CreatedEvent): KnownInterfaceView | null; /** * Use this when `createdEvent` is guaranteed to have an interface view because the ledger api filters * include it, and thus is guaranteed to be returned by the API. */ export declare function ensureInterfaceViewIsPresent(createdEvent: CreatedEvent, interfaceId: string): JsInterfaceView; type Meta = { values: { [key: string]: string; }; } | undefined; export declare function mergeMetas(event: ExercisedEvent, extra?: Meta): Meta; export declare function getMetaKeyValue(key: string, meta: Meta): string | null; /** * From the view of making it easy to build the display for the wallet, * we remove all metadata fields that were fully parsed, and whose content is reflected in the TypeScript structure. * Otherwise, the display code has to do so, overloading the user with superfluous metadata entries. */ export declare function removeParsedMetaKeys(meta: Meta): Meta; export {}; //# sourceMappingURL=utils.d.ts.map