import type { BinaryWriteOptions } from '@protobuf-ts/runtime';
import type { IBinaryWriter } from '@protobuf-ts/runtime';
import type { BinaryReadOptions } from '@protobuf-ts/runtime';
import type { IBinaryReader } from '@protobuf-ts/runtime';
import type { PartialMessage } from '@protobuf-ts/runtime';
import { MessageType } from '@protobuf-ts/runtime';
import { Value } from '../../../value.js';
import { Identifier } from '../../../value.js';
/**
 * Fetch node
 *
 * @generated from protobuf message com.daml.ledger.api.v2.interactive.transaction.v1.Fetch
 */
export interface Fetch {
    /**
     * Specific LF version of the node
     *
     * @generated from protobuf field: string lf_version = 1
     */
    lfVersion: string;
    /**
     * @generated from protobuf field: string contract_id = 2
     */
    contractId: string;
    /**
     * @generated from protobuf field: string package_name = 3
     */
    packageName: string;
    /**
     * The identifier uses the package-id reference format.
     *
     * @generated from protobuf field: com.daml.ledger.api.v2.Identifier template_id = 4
     */
    templateId?: Identifier;
    /**
     * @generated from protobuf field: repeated string signatories = 5
     */
    signatories: string[];
    /**
     * @generated from protobuf field: repeated string stakeholders = 6
     */
    stakeholders: string[];
    /**
     * @generated from protobuf field: repeated string acting_parties = 7
     */
    actingParties: string[];
    /**
     * Optional
     *
     * @generated from protobuf field: com.daml.ledger.api.v2.Identifier interface_id = 8
     */
    interfaceId?: Identifier;
}
/**
 * Exercise node
 *
 * @generated from protobuf message com.daml.ledger.api.v2.interactive.transaction.v1.Exercise
 */
export interface Exercise {
    /**
     * Specific LF version of the node
     *
     * @generated from protobuf field: string lf_version = 1
     */
    lfVersion: string;
    /**
     * @generated from protobuf field: string contract_id = 2
     */
    contractId: string;
    /**
     * @generated from protobuf field: string package_name = 3
     */
    packageName: string;
    /**
     * The identifier uses the package-id reference format.
     *
     * @generated from protobuf field: com.daml.ledger.api.v2.Identifier template_id = 4
     */
    templateId?: Identifier;
    /**
     * @generated from protobuf field: repeated string signatories = 5
     */
    signatories: string[];
    /**
     * @generated from protobuf field: repeated string stakeholders = 6
     */
    stakeholders: string[];
    /**
     * @generated from protobuf field: repeated string acting_parties = 7
     */
    actingParties: string[];
    /**
     * The identifier uses the package-id reference format.
     *
     * @generated from protobuf field: com.daml.ledger.api.v2.Identifier interface_id = 8
     */
    interfaceId?: Identifier;
    /**
     * @generated from protobuf field: string choice_id = 9
     */
    choiceId: string;
    /**
     * @generated from protobuf field: com.daml.ledger.api.v2.Value chosen_value = 10
     */
    chosenValue?: Value;
    /**
     * @generated from protobuf field: bool consuming = 11
     */
    consuming: boolean;
    /**
     * @generated from protobuf field: repeated string children = 12
     */
    children: string[];
    /**
     * @generated from protobuf field: com.daml.ledger.api.v2.Value exercise_result = 13
     */
    exerciseResult?: Value;
    /**
     * @generated from protobuf field: repeated string choice_observers = 14
     */
    choiceObservers: string[];
}
/**
 * Create Node
 *
 * @generated from protobuf message com.daml.ledger.api.v2.interactive.transaction.v1.Create
 */
export interface Create {
    /**
     * Specific LF version of the node
     *
     * @generated from protobuf field: string lf_version = 1
     */
    lfVersion: string;
    /**
     * @generated from protobuf field: string contract_id = 2
     */
    contractId: string;
    /**
     * @generated from protobuf field: string package_name = 3
     */
    packageName: string;
    /**
     * The identifier uses the package-id reference format.
     *
     * @generated from protobuf field: com.daml.ledger.api.v2.Identifier template_id = 4
     */
    templateId?: Identifier;
    /**
     * @generated from protobuf field: com.daml.ledger.api.v2.Value argument = 5
     */
    argument?: Value;
    /**
     * @generated from protobuf field: repeated string signatories = 6
     */
    signatories: string[];
    /**
     * @generated from protobuf field: repeated string stakeholders = 7
     */
    stakeholders: string[];
}
/**
 * Rollback Node
 *
 * @generated from protobuf message com.daml.ledger.api.v2.interactive.transaction.v1.Rollback
 */
export interface Rollback {
    /**
     * @generated from protobuf field: repeated string children = 1
     */
    children: string[];
}
/**
 * @generated from protobuf message com.daml.ledger.api.v2.interactive.transaction.v1.Node
 */
export interface Node {
    /**
     * @generated from protobuf oneof: node_type
     */
    nodeType: {
        oneofKind: 'create';
        /**
         * @generated from protobuf field: com.daml.ledger.api.v2.interactive.transaction.v1.Create create = 1
         */
        create: Create;
    } | {
        oneofKind: 'fetch';
        /**
         * @generated from protobuf field: com.daml.ledger.api.v2.interactive.transaction.v1.Fetch fetch = 2
         */
        fetch: Fetch;
    } | {
        oneofKind: 'exercise';
        /**
         * @generated from protobuf field: com.daml.ledger.api.v2.interactive.transaction.v1.Exercise exercise = 3
         */
        exercise: Exercise;
    } | {
        oneofKind: 'rollback';
        /**
         * @generated from protobuf field: com.daml.ledger.api.v2.interactive.transaction.v1.Rollback rollback = 4
         */
        rollback: Rollback;
    } | {
        oneofKind: undefined;
    };
}
declare class Fetch$Type extends MessageType<Fetch> {
    constructor();
    create(value?: PartialMessage<Fetch>): Fetch;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Fetch): Fetch;
    internalBinaryWrite(message: Fetch, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.interactive.transaction.v1.Fetch
 */
export declare const Fetch: Fetch$Type;
declare class Exercise$Type extends MessageType<Exercise> {
    constructor();
    create(value?: PartialMessage<Exercise>): Exercise;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Exercise): Exercise;
    internalBinaryWrite(message: Exercise, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.interactive.transaction.v1.Exercise
 */
export declare const Exercise: Exercise$Type;
declare class Create$Type extends MessageType<Create> {
    constructor();
    create(value?: PartialMessage<Create>): Create;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Create): Create;
    internalBinaryWrite(message: Create, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.interactive.transaction.v1.Create
 */
export declare const Create: Create$Type;
declare class Rollback$Type extends MessageType<Rollback> {
    constructor();
    create(value?: PartialMessage<Rollback>): Rollback;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Rollback): Rollback;
    internalBinaryWrite(message: Rollback, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.interactive.transaction.v1.Rollback
 */
export declare const Rollback: Rollback$Type;
declare class Node$Type extends MessageType<Node> {
    constructor();
    create(value?: PartialMessage<Node>): Node;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Node): Node;
    internalBinaryWrite(message: Node, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.interactive.transaction.v1.Node
 */
export declare const Node: Node$Type;
export {};
//# sourceMappingURL=interactive_submission_data.d.ts.map