import { type NonEmptyReadonlyArray } from "effect/Array"; import type * as Effect from "effect/Effect"; import type * as S from "effect/Schema"; import type * as Scope from "effect/Scope"; import type * as Stream from "effect/Stream"; import { type Rpc, RpcMiddleware } from "effect/unstable/rpc"; import { type TypeId } from "effect/unstable/rpc/RpcMiddleware"; import type * as Context from "../Context.js"; import { type GetEffectContext, type RpcContextMap } from "./RpcContextMap.js"; export type RpcMiddlewareV4 = RpcMiddleware.RpcMiddleware; export type RpcOptionsOriginal = { readonly optional?: boolean; readonly error?: S.Top; readonly requiredForClient?: boolean; }; export type RpcDynamic = { key: Key; settings: A; }; export type AnyDynamic = { dynamic: RpcDynamic; }; export type DependsOn = { readonly dependsOn: NonEmptyReadonlyArray | undefined; }; export interface RpcOptionsDynamic extends RpcOptionsOriginal { readonly dynamic: RpcDynamic; readonly dependsOn?: NonEmptyReadonlyArray | undefined; } export type Dynamic = Options extends RpcOptionsDynamic ? true : false; export interface RpcMiddlewareDynamic extends RpcMiddleware.RpcMiddleware { } export interface TagClassAny extends RpcMiddleware.AnyService { readonly optional: boolean; readonly provides: any; readonly requires: any; readonly error: S.Top; readonly dynamic?: RpcDynamic | undefined; readonly dependsOn?: NonEmptyReadonlyArray | undefined; } export declare namespace TagClass { /** * @since 1.0.0 * @category models */ type FailureSchema = Options extends { readonly error: S.Top; readonly optional?: false; } ? Options["error"] : typeof S.Never; /** * @since 1.0.0 * @category models */ type Failure = Options extends { readonly error: S.Codec; readonly optional?: false; } ? _A : Options extends { readonly dynamic: RpcDynamic; } ? S.Schema.Type : never; /** * @since 1.0.0 * @category models */ type FailureContext = S.Codec.DecodingServices>; /** * @since 1.0.0 * @category models */ type FailureService = Optional extends true ? unknown : Failure; /** * @since 1.0.0 * @category models */ type Optional = Options extends { readonly optional: true; } ? true : false; /** * @since 1.0.0 * @category models */ type RequiredForClient = Options extends { readonly requiredForClient: true; } ? true : false; /** * @since 1.0.0 * @category models */ interface Base extends Context.Service { new (_: never): Context.ServiceClass.Shape; readonly [TypeId]: TypeId; readonly optional: Optional; readonly error: FailureSchema; readonly "~ClientError": Options extends { readonly clientError: infer CE; } ? CE : never; readonly provides: "provides" extends keyof Config ? Config["provides"] : never; readonly requires: "requires" extends keyof Config ? Config["requires"] : never; readonly dynamic: Options extends RpcOptionsDynamic ? Options["dynamic"] : undefined; readonly dependsOn: Options extends DependsOn ? Options["dependsOn"] : undefined; readonly requiredForClient: RequiredForClient; } } export interface TagClass extends TagClass.Base ? RpcMiddlewareDynamic, "requires" extends keyof Config ? Config["requires"] : never, { [K in Options["dynamic"]["key"]]?: Options["dynamic"]["settings"]["contextActivation"]; }> : RpcMiddlewareV4<"provides" extends keyof Config ? Config["provides"] : never, TagClass.Failure, "requires" extends keyof Config ? Config["requires"] : never>, Config> { } export declare const Tag: () => = {}>(id: Name, options?: Options) => TagClass; export type AddMiddleware = R extends Rpc.Rpc ? Rpc.Rpc<_Tag, _Payload, _Success, _Error, _Middleware | Middleware> & { readonly config: R extends { readonly config: infer _C; } ? _C : never; } : never; export type HandlersContext = keyof Handlers extends infer K ? K extends keyof Handlers & string ? HandlerContext : never : never; export type HandlerContext = [Rpc.IsStream] extends [ true ] ? Handler extends (...args: any) => Stream.Stream | Rpc.Wrapper> | Effect.Effect | Rpc.Wrapper> ? Exclude, Scope.Scope> : never : Handler extends (...args: any) => Effect.Effect | Rpc.Wrapper> ? ExcludeProvides<_R, Rpcs, K> : never; export type ExtractDynamicallyProvides = R extends Rpc.Rpc ? _Middleware extends { readonly requestContextMap: infer _RC; } ? _RC extends Record ? R extends { readonly config: infer _C; } ? GetEffectContext<_RC, _C> : GetEffectContext<_RC, {}> : never : never : never; export type ExtractProvides = R extends Rpc.Rpc ? _Middleware extends { readonly provides: infer _P; } ? [_P] extends [never] ? never : _P : never : never; export type ExcludeProvides = Exclude | ExtractDynamicallyProvides>; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUnBjTWlkZGxld2FyZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JwYy9ScGNNaWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxLQUFLLHFCQUFxQixFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ3pELE9BQU8sS0FBSyxLQUFLLE1BQU0sTUFBTSxlQUFlLENBQUE7QUFDNUMsT0FBTyxLQUFLLEtBQUssQ0FBQyxNQUFNLGVBQWUsQ0FBQTtBQUN2QyxPQUFPLEtBQUssS0FBSyxLQUFLLE1BQU0sY0FBYyxDQUFBO0FBQzFDLE9BQU8sS0FBSyxLQUFLLE1BQU0sTUFBTSxlQUFlLENBQUE7QUFDNUMsT0FBTyxFQUFFLEtBQUssR0FBRyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQzdELE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQy9ELE9BQU8sS0FBSyxLQUFLLE9BQU8sTUFBTSxlQUFlLENBQUE7QUFDN0MsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQUUsS0FBSyxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUU5RSxNQUFNLE1BQU0sZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsUUFBUSxJQUFJLGFBQWEsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQTtBQUV2RyxNQUFNLE1BQU0sa0JBQWtCLEdBQUc7SUFDL0IsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLE9BQU8sQ0FBQTtJQUMzQixRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQTtJQUN0QixRQUFRLENBQUMsaUJBQWlCLENBQUMsRUFBRSxPQUFPLENBQUE7Q0FDckMsQ0FBQTtBQUVELE1BQU0sTUFBTSxVQUFVLENBQUMsR0FBRyxTQUFTLE1BQU0sRUFBRSxDQUFDLFNBQVMsYUFBYSxDQUFDLEdB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