import { CancelledError, RestateError, RetryableError, RetryableErrorOptions, TerminalError, TimeoutError } from "./types/errors.js";
import { Hooks, HooksProvider, Interceptor } from "./hooks.js";
import { Client, ClientCallOptions, ClientSendOptions, InferArg, ObjectHandlerOpts, ObjectOptions, ObjectOpts, Opts, RemoveVoidArgument, RetryPolicy, SendClient, SendOpts, ServiceHandlerOpts, ServiceOptions, ServiceOpts, WorkflowHandlerOpts, WorkflowOptions, WorkflowOpts, handlers, object, rpc, service, workflow } from "./types/rpc.js";
import { Context, ContextDate, DurablePromise, GenericCall, GenericSend, InvocationHandle, InvocationId, InvocationIdParser, InvocationPromise, KeyValueStore, ObjectContext, ObjectSharedContext, Rand, Request, RestatePromise, RunAction, RunOptions, Target, TypedState, UntypedState, WorkflowContext, WorkflowSharedContext } from "./context.js";
import { internal_d_exports } from "./internal.js";
import { LogMetadata, LogSource, LoggerContext, LoggerTransport, RestateLogLevel } from "./logging/logger_transport.js";
import { DefaultServiceOptions, RestateEndpoint, RestateEndpointBase } from "./endpoint.js";
import { isRestatePromise } from "./promises.js";
import { EndpointOptions } from "./endpoint/types.js";
import { Duration as Duration$1, JournalValueCodec as JournalValueCodec$1, ObjectHandler as ObjectHandler$1, RestateContext as RestateContext$1, RestateObjectContext as RestateObjectContext$1, RestateObjectSharedContext as RestateObjectSharedContext$1, RestateWorkflowContext as RestateWorkflowContext$1, RestateWorkflowSharedContext as RestateWorkflowSharedContext$1, Serde as Serde$1, Service as Service$1, ServiceDefinition as ServiceDefinition$1, ServiceDefinitionFrom as ServiceDefinitionFrom$1, ServiceHandler as ServiceHandler$1, VirtualObject as VirtualObject$1, VirtualObjectDefinition as VirtualObjectDefinition$1, VirtualObjectDefinitionFrom as VirtualObjectDefinitionFrom$1, Workflow as Workflow$1, WorkflowDefinition as WorkflowDefinition$1, WorkflowDefinitionFrom as WorkflowDefinitionFrom$1, WorkflowHandler as WorkflowHandler$1, WorkflowSharedHandler as WorkflowSharedHandler$1, serde as serde$1 } from "@restatedev/restate-sdk-core";

//#region src/common_api.d.ts
/**
 * @deprecated Use {@link RestatePromise}
 */
declare const CombineablePromise: {
  resolve<T>(value: T): RestatePromise<Awaited<T>>;
  reject<T = never>(reason: TerminalError): RestatePromise<T>;
  all<const T extends readonly RestatePromise<unknown>[]>(values: T): RestatePromise<{ -readonly [P in keyof T]: Awaited<T[P]> }>;
  race<const T extends readonly RestatePromise<unknown>[]>(values: T): RestatePromise<Awaited<T[number]>>;
  any<const T extends readonly RestatePromise<unknown>[]>(values: T): RestatePromise<Awaited<T[number]>>;
  allSettled<const T extends readonly RestatePromise<unknown>[]>(values: T): RestatePromise<{ -readonly [P in keyof T]: PromiseSettledResult<Awaited<T[P]>> }>;
};
/**
 * @deprecated Use {@link RestatePromise}
 */
type CombineablePromise<T> = RestatePromise<T>;
declare const createServiceHandler: typeof handlers.handler;
declare const createObjectHandler: typeof handlers.object.exclusive;
declare const createObjectSharedHandler: typeof handlers.object.shared;
declare const createWorkflowHandler: typeof handlers.workflow.workflow;
declare const createWorkflowSharedHandler: typeof handlers.workflow.shared;
//#endregion
export { CombineablePromise, type Duration$1 as Duration, type JournalValueCodec$1 as JournalValueCodec, type ObjectHandler$1 as ObjectHandler, type RestateContext$1 as RestateContext, type RestateObjectContext$1 as RestateObjectContext, type RestateObjectSharedContext$1 as RestateObjectSharedContext, type RestateWorkflowContext$1 as RestateWorkflowContext, type RestateWorkflowSharedContext$1 as RestateWorkflowSharedContext, type Serde$1 as Serde, type Service$1 as Service, type ServiceDefinition$1 as ServiceDefinition, type ServiceDefinitionFrom$1 as ServiceDefinitionFrom, type ServiceHandler$1 as ServiceHandler, type VirtualObject$1 as VirtualObject, type VirtualObjectDefinition$1 as VirtualObjectDefinition, type VirtualObjectDefinitionFrom$1 as VirtualObjectDefinitionFrom, type Workflow$1 as Workflow, type WorkflowDefinition$1 as WorkflowDefinition, type WorkflowDefinitionFrom$1 as WorkflowDefinitionFrom, type WorkflowHandler$1 as WorkflowHandler, type WorkflowSharedHandler$1 as WorkflowSharedHandler, createObjectHandler, createObjectSharedHandler, createServiceHandler, createWorkflowHandler, createWorkflowSharedHandler, serde$1 as serde };
//# sourceMappingURL=common_api.d.ts.map