Restate Typescript SDK
    Preparing search index...
    iface: {
        implement: {
            <P extends string, H extends Record<string, HandlerDescriptor>>(
                iface: ServiceDescriptor<P, H>,
                config: {
                    handlers: ImplementHandlers<H>;
                    options?: ServiceOptions & {
                        handlers?: Partial<Record<keyof H, GenHandlerOpts>>;
                    };
                },
            ): ImplementedServiceDefinition<P, H>;
            <P extends string, H extends Record<string, HandlerDescriptor>>(
                iface: ObjectDescriptor<P, H>,
                config: {
                    handlers: ImplementHandlers<H>;
                    options?: ServiceOptions & { enableLazyState?: boolean } & {
                        handlers?: Partial<Record<keyof H, GenObjectHandlerOpts>>;
                    };
                },
            ): ImplementedObjectDefinition<P, H>;
            <P extends string, H extends Record<string, HandlerDescriptor>>(
                iface: WorkflowDescriptor<P, H>,
                config: {
                    handlers: ImplementHandlers<H>;
                    options?: ServiceOptions & {
                        enableLazyState?: boolean;
                        workflowRetention?: number | Duration;
                    } & { handlers?: Partial<Record<keyof H, GenWorkflowHandlerOpts>> };
                },
            ): ImplementedWorkflowDefinition<P, H>;
        };
        shared: {
            json<I = void, O = void>(
                opts?: DescriptorOpts,
            ): HandlerDescriptor<I, O, true>;
            schemas<
                SI extends StandardSchemaV1<any, any>,
                SO extends StandardSchemaV1<any, any>,
            >(
                opts: { input?: SI; output?: SO } & DescriptorOpts,
            ): HandlerDescriptor<
                StandardSchemaV1.InferOutput<NonNullable<SI>>,
                StandardSchemaV1.InferOutput<NonNullable<SO>>,
                true,
            >;
            serdes<SI extends Serde<any>, SO extends Serde<any>>(
                opts: { input?: SI; output?: SO } & DescriptorOpts,
            ): HandlerDescriptor<SerdeType<SI>, SerdeType<SO>, true>;
        };
        json<I = void, O = void>(
            opts?: DescriptorOpts,
        ): HandlerDescriptor<I, O, false>;
        object<
            P extends string,
            H extends Record<string, HandlerDescriptor<any, any, boolean>>,
        >(
            name: P,
            handlers: H,
            opts?: DescriptorOpts,
        ): ObjectDescriptor<P, H>;
        schemas<
            SI extends StandardSchemaV1<any, any>,
            SO extends StandardSchemaV1<any, any>,
        >(
            opts: { input?: SI; output?: SO } & DescriptorOpts,
        ): HandlerDescriptor<
            StandardSchemaV1.InferOutput<NonNullable<SI>>,
            StandardSchemaV1.InferOutput<NonNullable<SO>>,
            false,
        >;
        serdes<SI extends Serde<any>, SO extends Serde<any>>(
            opts: { input?: SI; output?: SO } & DescriptorOpts,
        ): HandlerDescriptor<SerdeType<SI>, SerdeType<SO>, false>;
        service<
            P extends string,
            H extends Record<string, HandlerDescriptor<any, any, boolean>>,
        >(
            name: P,
            handlers: H,
            opts?: DescriptorOpts,
        ): ServiceDescriptor<P, H>;
        workflow<
            P extends string,
            H extends Record<string, HandlerDescriptor<any, any, boolean>>,
        >(
            name: P,
            handlers: H,
            opts?: DescriptorOpts,
        ): WorkflowDescriptor<P, H>;
    } = ...

    Type Declaration