/**
 * Type definitions for Canton transaction JSON structure
 * These types represent the structure of transaction data from the Gateway API
 * that needs to be split into device-compatible components.
 */
export interface CantonTransactionJson {
    transaction: CantonTransactionData;
    metadata: CantonTransactionMetadata;
}
export interface CantonTransactionData {
    version: string;
    roots: string[];
    nodes?: CantonTransactionNode[];
    nodeSeeds?: CantonNodeSeed[];
}
export interface CantonNodeSeed {
    seed: string;
    nodeId?: number;
}
export interface CantonTransactionNode {
    nodeId?: string;
    v1?: {
        create?: unknown;
        exercise?: unknown;
        fetch?: unknown;
        lookupByKey?: unknown;
    };
    [key: string]: unknown;
}
export interface CantonTransactionMetadata {
    submitterInfo: CantonSubmitterInfo;
    synchronizerId: string;
    transactionUuid: string;
    preparationTime: string;
    inputContracts?: CantonInputContract[];
    mediatorGroup?: number;
    minLedgerEffectiveTime?: string;
    maxLedgerEffectiveTime?: string;
}
export interface CantonSubmitterInfo {
    actAs: string[];
    commandId: string;
}
export interface CantonInputContract {
    v1?: {
        lfVersion?: string;
        contractId?: string;
        packageName?: string;
        [key: string]: unknown;
    };
    eventBlob?: string;
    [key: string]: unknown;
}
//# sourceMappingURL=types.d.ts.map