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 { Timestamp } from '../../../../../../google/protobuf/timestamp.js';
/**
 * @generated from protobuf message com.daml.ledger.api.v2.testing.GetTimeRequest
 */
export interface GetTimeRequest {
}
/**
 * @generated from protobuf message com.daml.ledger.api.v2.testing.GetTimeResponse
 */
export interface GetTimeResponse {
    /**
     * The current time according to the ledger server.
     *
     * @generated from protobuf field: google.protobuf.Timestamp current_time = 1
     */
    currentTime?: Timestamp;
}
/**
 * @generated from protobuf message com.daml.ledger.api.v2.testing.SetTimeRequest
 */
export interface SetTimeRequest {
    /**
     * MUST precisely match the current time as it's known to the ledger server.
     *
     * @generated from protobuf field: google.protobuf.Timestamp current_time = 1
     */
    currentTime?: Timestamp;
    /**
     * The time the client wants to set on the ledger.
     * MUST be a point int time after ``current_time``.
     *
     * @generated from protobuf field: google.protobuf.Timestamp new_time = 2
     */
    newTime?: Timestamp;
}
declare class GetTimeRequest$Type extends MessageType<GetTimeRequest> {
    constructor();
    create(value?: PartialMessage<GetTimeRequest>): GetTimeRequest;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetTimeRequest): GetTimeRequest;
    internalBinaryWrite(message: GetTimeRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.testing.GetTimeRequest
 */
export declare const GetTimeRequest: GetTimeRequest$Type;
declare class GetTimeResponse$Type extends MessageType<GetTimeResponse> {
    constructor();
    create(value?: PartialMessage<GetTimeResponse>): GetTimeResponse;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetTimeResponse): GetTimeResponse;
    internalBinaryWrite(message: GetTimeResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.testing.GetTimeResponse
 */
export declare const GetTimeResponse: GetTimeResponse$Type;
declare class SetTimeRequest$Type extends MessageType<SetTimeRequest> {
    constructor();
    create(value?: PartialMessage<SetTimeRequest>): SetTimeRequest;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SetTimeRequest): SetTimeRequest;
    internalBinaryWrite(message: SetTimeRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.testing.SetTimeRequest
 */
export declare const SetTimeRequest: SetTimeRequest$Type;
/**
 * @generated ServiceType for protobuf service com.daml.ledger.api.v2.testing.TimeService
 */
export declare const TimeService: ServiceType;
export {};
//# sourceMappingURL=time_service.d.ts.map