import type { RpcTransport } from '@protobuf-ts/runtime-rpc';
import type { ServiceInfo } from '@protobuf-ts/runtime-rpc';
import type { Empty } from '../../../../../../google/protobuf/empty.js';
import type { SetTimeRequest } from './time_service.js';
import type { GetTimeResponse } from './time_service.js';
import type { GetTimeRequest } from './time_service.js';
import type { UnaryCall } from '@protobuf-ts/runtime-rpc';
import type { RpcOptions } from '@protobuf-ts/runtime-rpc';
/**
 * Optional service, exposed for testing static time scenarios.
 *
 * @generated from protobuf service com.daml.ledger.api.v2.testing.TimeService
 */
export interface ITimeServiceClient {
    /**
     * Returns the current time according to the ledger server.
     *
     * @generated from protobuf rpc: GetTime
     */
    getTime(input: GetTimeRequest, options?: RpcOptions): UnaryCall<GetTimeRequest, GetTimeResponse>;
    /**
     * Allows clients to change the ledger's clock in an atomic get-and-set operation.
     *
     * @generated from protobuf rpc: SetTime
     */
    setTime(input: SetTimeRequest, options?: RpcOptions): UnaryCall<SetTimeRequest, Empty>;
}
/**
 * Optional service, exposed for testing static time scenarios.
 *
 * @generated from protobuf service com.daml.ledger.api.v2.testing.TimeService
 */
export declare class TimeServiceClient implements ITimeServiceClient, ServiceInfo {
    private readonly _transport;
    typeName: string;
    methods: import("@protobuf-ts/runtime-rpc").MethodInfo<any, any>[];
    options: {
        [extensionName: string]: import("@protobuf-ts/runtime").JsonValue;
    };
    constructor(_transport: RpcTransport);
    /**
     * Returns the current time according to the ledger server.
     *
     * @generated from protobuf rpc: GetTime
     */
    getTime(input: GetTimeRequest, options?: RpcOptions): UnaryCall<GetTimeRequest, GetTimeResponse>;
    /**
     * Allows clients to change the ledger's clock in an atomic get-and-set operation.
     *
     * @generated from protobuf rpc: SetTime
     */
    setTime(input: SetTimeRequest, options?: RpcOptions): UnaryCall<SetTimeRequest, Empty>;
}
//# sourceMappingURL=time_service.client.d.ts.map