import { TailorEnv, TailorPrincipal } from "../../../runtime/types.mjs";
import { InferFieldsOutput, output } from "../../../types/helpers.mjs";
import { MachineUserName } from "../auth/types.mjs";
import { ResolverInput } from "../../../types/resolver.generated.mjs";
import { ResolverPermission } from "./permission.mjs";
import "../../types/machine-user.mjs";
import { TailorAnyField, TailorField } from "../../types/type.mjs";
//#region src/configure/services/resolver/resolver.d.ts
type Context | undefined> = {
input: Input extends Record ? InferFieldsOutput : never;
caller: TailorPrincipal | null;
invoker: TailorPrincipal | null;
env: TailorEnv;
};
type OutputType = O extends TailorAnyField ? output : O extends Record ? InferFieldsOutput : never;
/**
* Normalized output type that preserves generic type information.
* - If Output is already a TailorField, use it as-is
* - If Output is a Record of fields, wrap it as a nested TailorField
*/
type NormalizedOutput