const require_rolldown_runtime = require('./_virtual/rolldown_runtime.cjs');
const require_errors = require('./types/errors.cjs');
const require_rpc = require('./types/rpc.cjs');
const require_context = require('./context.cjs');
const require_common_api = require('./common_api.cjs');
const require_withOptions = require('./endpoint/withOptions.cjs');
const require_lambda_endpoint = require('./endpoint/lambda_endpoint.cjs');
let __restatedev_restate_sdk_core = require("@restatedev/restate-sdk-core");
__restatedev_restate_sdk_core = require_rolldown_runtime.__toESM(__restatedev_restate_sdk_core);

//#region src/lambda.ts
/**
* Create a new {@link LambdaEndpoint}.
* @deprecated Please use {@link createEndpointHandler}
*/
function endpoint() {
	return new require_lambda_endpoint.LambdaEndpointImpl();
}
/**
* Creates a Lambda handler that encapsulates all the Restate services served by this endpoint.
*
* @param {EndpointOptions} options - Configuration options for the endpoint handler.
* @returns A Lambda handler function.
*
* @example
* A typical endpoint served as Lambda would look like this:
* ```
* import { createEndpointHandler } from "@restatedev/restate-sdk/lambda";
*
* export const handler = createEndpointHandler({ services: [myService] })
*/
function createEndpointHandler(options) {
	return require_withOptions.withOptions(new require_lambda_endpoint.LambdaEndpointImpl(), options).handler();
}

//#endregion
exports.CancelledError = require_errors.CancelledError;
exports.CombineablePromise = require_common_api.CombineablePromise;
exports.InvocationIdParser = require_context.InvocationIdParser;
exports.Opts = require_rpc.Opts;
exports.RestateError = require_errors.RestateError;
exports.RestatePromise = require_context.RestatePromise;
exports.RetryableError = require_errors.RetryableError;
exports.SendOpts = require_rpc.SendOpts;
exports.TerminalError = require_errors.TerminalError;
exports.TimeoutError = require_errors.TimeoutError;
exports.createEndpointHandler = createEndpointHandler;
exports.createObjectHandler = require_common_api.createObjectHandler;
exports.createObjectSharedHandler = require_common_api.createObjectSharedHandler;
exports.createServiceHandler = require_common_api.createServiceHandler;
exports.createWorkflowHandler = require_common_api.createWorkflowHandler;
exports.createWorkflowSharedHandler = require_common_api.createWorkflowSharedHandler;
exports.endpoint = endpoint;
Object.defineProperty(exports, 'handlers', {
  enumerable: true,
  get: function () {
    return require_rpc.handlers;
  }
});
exports.object = require_rpc.object;
Object.defineProperty(exports, 'rpc', {
  enumerable: true,
  get: function () {
    return require_rpc.rpc;
  }
});
Object.defineProperty(exports, 'serde', {
  enumerable: true,
  get: function () {
    return __restatedev_restate_sdk_core.serde;
  }
});
exports.service = require_rpc.service;
exports.workflow = require_rpc.workflow;