import { ServiceType } from '@protobuf-ts/runtime-rpc';
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';
import { Command } from '../commands.js';
import { Completion } from '../completion.js';
import { Timestamp } from '../../../../../../google/protobuf/timestamp.js';
/**
 * @generated from protobuf message com.daml.ledger.api.v2.admin.GetCommandStatusRequest
 */
export interface GetCommandStatusRequest {
    /**
     * @generated from protobuf field: string command_id_prefix = 1
     */
    commandIdPrefix: string;
    /**
     * @generated from protobuf field: com.daml.ledger.api.v2.admin.CommandState state = 2
     */
    state: CommandState;
    /**
     * @generated from protobuf field: uint32 limit = 3
     */
    limit: number;
}
/**
 * @generated from protobuf message com.daml.ledger.api.v2.admin.GetCommandStatusResponse
 */
export interface GetCommandStatusResponse {
    /**
     * @generated from protobuf field: repeated com.daml.ledger.api.v2.admin.CommandStatus command_status = 1
     */
    commandStatus: CommandStatus[];
}
/**
 * @generated from protobuf message com.daml.ledger.api.v2.admin.CommandStatus
 */
export interface CommandStatus {
    /**
     * @generated from protobuf field: google.protobuf.Timestamp started = 1
     */
    started?: Timestamp;
    /**
     * @generated from protobuf field: google.protobuf.Timestamp completed = 2
     */
    completed?: Timestamp;
    /**
     * @generated from protobuf field: com.daml.ledger.api.v2.Completion completion = 3
     */
    completion?: Completion;
    /**
     * @generated from protobuf field: com.daml.ledger.api.v2.admin.CommandState state = 4
     */
    state: CommandState;
    /**
     * @generated from protobuf field: repeated com.daml.ledger.api.v2.Command commands = 5
     */
    commands: Command[];
    /**
     * @generated from protobuf field: com.daml.ledger.api.v2.admin.RequestStatistics request_statistics = 6
     */
    requestStatistics?: RequestStatistics;
    /**
     * @generated from protobuf field: com.daml.ledger.api.v2.admin.CommandUpdates updates = 7
     */
    updates?: CommandUpdates;
}
/**
 * @generated from protobuf message com.daml.ledger.api.v2.admin.RequestStatistics
 */
export interface RequestStatistics {
    /**
     * @generated from protobuf field: uint32 envelopes = 1
     */
    envelopes: number;
    /**
     * @generated from protobuf field: uint32 request_size = 2
     */
    requestSize: number;
    /**
     * @generated from protobuf field: uint32 recipients = 3
     */
    recipients: number;
}
/**
 * @generated from protobuf message com.daml.ledger.api.v2.admin.CommandUpdates
 */
export interface CommandUpdates {
    /**
     * @generated from protobuf field: repeated com.daml.ledger.api.v2.admin.Contract created = 1
     */
    created: Contract[];
    /**
     * @generated from protobuf field: repeated com.daml.ledger.api.v2.admin.Contract archived = 2
     */
    archived: Contract[];
    /**
     * @generated from protobuf field: uint32 exercised = 3
     */
    exercised: number;
    /**
     * @generated from protobuf field: uint32 fetched = 4
     */
    fetched: number;
    /**
     * @generated from protobuf field: uint32 looked_up_by_key = 5
     */
    lookedUpByKey: number;
}
/**
 * @generated from protobuf message com.daml.ledger.api.v2.admin.Contract
 */
export interface Contract {
    /**
     * The identifier of the template used to create the contract.
     * The identifier uses the package-id reference format.
     *
     * Required
     *
     * @generated from protobuf field: com.daml.ledger.api.v2.Identifier template_id = 1
     */
    templateId?: Identifier;
    /**
     * The contract's ID
     *
     * Required
     *
     * @generated from protobuf field: string contract_id = 2
     */
    contractId: string;
    /**
     * The contract key, if defined
     *
     * Optional
     *
     * @generated from protobuf field: com.daml.ledger.api.v2.Value contract_key = 3
     */
    contractKey?: Value;
}
/**
 * @generated from protobuf enum com.daml.ledger.api.v2.admin.CommandState
 */
export declare enum CommandState {
    /**
     * This value acts as wildcard in the queries
     *
     * @generated from protobuf enum value: COMMAND_STATE_UNSPECIFIED = 0;
     */
    UNSPECIFIED = 0,
    /**
     * @generated from protobuf enum value: COMMAND_STATE_PENDING = 1;
     */
    PENDING = 1,
    /**
     * @generated from protobuf enum value: COMMAND_STATE_SUCCEEDED = 2;
     */
    SUCCEEDED = 2,
    /**
     * @generated from protobuf enum value: COMMAND_STATE_FAILED = 3;
     */
    FAILED = 3
}
declare class GetCommandStatusRequest$Type extends MessageType<GetCommandStatusRequest> {
    constructor();
    create(value?: PartialMessage<GetCommandStatusRequest>): GetCommandStatusRequest;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetCommandStatusRequest): GetCommandStatusRequest;
    internalBinaryWrite(message: GetCommandStatusRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.admin.GetCommandStatusRequest
 */
export declare const GetCommandStatusRequest: GetCommandStatusRequest$Type;
declare class GetCommandStatusResponse$Type extends MessageType<GetCommandStatusResponse> {
    constructor();
    create(value?: PartialMessage<GetCommandStatusResponse>): GetCommandStatusResponse;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetCommandStatusResponse): GetCommandStatusResponse;
    internalBinaryWrite(message: GetCommandStatusResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.admin.GetCommandStatusResponse
 */
export declare const GetCommandStatusResponse: GetCommandStatusResponse$Type;
declare class CommandStatus$Type extends MessageType<CommandStatus> {
    constructor();
    create(value?: PartialMessage<CommandStatus>): CommandStatus;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CommandStatus): CommandStatus;
    internalBinaryWrite(message: CommandStatus, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.admin.CommandStatus
 */
export declare const CommandStatus: CommandStatus$Type;
declare class RequestStatistics$Type extends MessageType<RequestStatistics> {
    constructor();
    create(value?: PartialMessage<RequestStatistics>): RequestStatistics;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: RequestStatistics): RequestStatistics;
    internalBinaryWrite(message: RequestStatistics, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.admin.RequestStatistics
 */
export declare const RequestStatistics: RequestStatistics$Type;
declare class CommandUpdates$Type extends MessageType<CommandUpdates> {
    constructor();
    create(value?: PartialMessage<CommandUpdates>): CommandUpdates;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CommandUpdates): CommandUpdates;
    internalBinaryWrite(message: CommandUpdates, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.admin.CommandUpdates
 */
export declare const CommandUpdates: CommandUpdates$Type;
declare class Contract$Type extends MessageType<Contract> {
    constructor();
    create(value?: PartialMessage<Contract>): Contract;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Contract): Contract;
    internalBinaryWrite(message: Contract, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.admin.Contract
 */
export declare const Contract: Contract$Type;
/**
 * @generated ServiceType for protobuf service com.daml.ledger.api.v2.admin.CommandInspectionService
 */
export declare const CommandInspectionService: ServiceType;
export {};
//# sourceMappingURL=command_inspection_service.d.ts.map