// AUTO-GENERATED by `wrnexus generate types` - do not edit.
declare namespace WRNexusGenerated {
  type ApiContract<T> = T extends import("@wrnexus/core").DefinedEndpoint<infer I, infer O>
    ? { input: I; output: O }
    : T extends (...args: infer A) => infer R
      ? { input: A extends [any, infer I, ...any[]] ? I : unknown; output: Awaited<R> }
      : { input: unknown; output: unknown };
  type MiddlewareContext<T> = T extends (ctx: infer C, ...args: any[]) => any ? C : never;
  type QueryContract<T> = T extends (db: any, args: infer A, ...rest: any[]) => infer R
    ? { args: A; result: Awaited<R> }
    : T extends (db: any, ...rest: any[]) => infer R
      ? { args: Record<string, never>; result: Awaited<R> }
      : never;
  type RealtimeMessage<T> = T extends import("@wrnexus/core").RoomDefinition<any, infer M> ? M : unknown;
  type QueuePayload<T> = T extends import("@wrnexus/queue").JobDefinition<infer I> ? I : unknown;
  type RouteName = "about" | "async.data" | "chat" | "client.only" | "dashboard" | "hello" | "index" | "language.tools" | "layout" | "login" | "modal" | "navigation" | "partial.static" | "platform.showcase" | "reactive" | "server.actions" | "table" | "test" | "ui";
  type ApiRoute = "/api/accounts" | "/api/echo" | "/api/graphql-example" | "/api/hello" | "/api/invite" | "/api/login" | "/api/logout" | "/api/me" | "/api/typed-user" | "/api/users/csr" | "/api/users/ssr" | "/api/webhooks/payment";
  type RealtimeRoute = "/realtime/chat" | "/realtime/hello";
  type EnvironmentKey = "APP_LABEL" | "DATABASE_URL" | "DEMO_SHARED" | "HOST" | "NODE_ENV" | "PORT" | "SESSION_SECRET" | "UAT_ONLY";
  type TranslationKey = "api.greeting" | "home.intro" | "home.title" | "nav.about" | "nav.chat" | "nav.dashboard" | "nav.home" | "nav.layout" | "nav.navigation" | "nav.ui";
  type QueueName = "welcome-email";
  type CacheKey = "users";
  interface Components {
    "Counter": { props: { "start"?: unknown; "label"?: unknown }; outputs: Record<string, never> };
  }
  interface ApiContracts {
    "/api/webhooks/payment": { POST: ApiContract<typeof import("../api/webhooks/payment.ts")["POST"]> };
    "/api/users/csr": { GET: ApiContract<typeof import("../api/users/csr.ts")["GET"]> };
    "/api/users/ssr": { GET: ApiContract<typeof import("../api/users/ssr.ts")["GET"]> };
    "/api/graphql-example": { POST: ApiContract<typeof import("../api/graphql-example.ts")["POST"]> };
    "/api/typed-user": { POST: ApiContract<typeof import("../api/typed-user.ts")["POST"]> };
    "/api/accounts": { GET: ApiContract<typeof import("../api/accounts.ts")["GET"]> };
    "/api/invite": { POST: ApiContract<typeof import("../api/invite.ts")["POST"]> };
    "/api/logout": { POST: ApiContract<typeof import("../api/logout.ts")["POST"]> };
    "/api/hello": { GET: ApiContract<typeof import("../api/hello.ts")["GET"]> };
    "/api/login": { POST: ApiContract<typeof import("../api/login.ts")["POST"]> };
    "/api/echo": { GET: ApiContract<typeof import("../api/echo.ts")["GET"]>; POST: ApiContract<typeof import("../api/echo.ts")["POST"]> };
    "/api/me": { GET: ApiContract<typeof import("../api/me.ts")["GET"]> };
  }
  interface MiddlewareContexts {
    "auth": MiddlewareContext<(typeof import("../middleware/auth.ts"))["default"]>;
    "logger": MiddlewareContext<(typeof import("../middleware/logger.ts"))["default"]>;
    "ratelimit": MiddlewareContext<(typeof import("../middleware/ratelimit.ts"))["default"]>;
  }
  interface DatabaseQueries {
    "GetUserByEmail": QueryContract<typeof import("../db/queries.gen.ts")["GetUserByEmail"]>;
    "ListUsers": QueryContract<typeof import("../db/queries.gen.ts")["ListUsers"]>;
    "CountActive": QueryContract<typeof import("../db/queries.gen.ts")["CountActive"]>;
    "CreateUser": QueryContract<typeof import("../db/queries.gen.ts")["CreateUser"]>;
    "DeactivateUser": QueryContract<typeof import("../db/queries.gen.ts")["DeactivateUser"]>;
  }
  interface RealtimeMessages {
    "/realtime/hello": RealtimeMessage<(typeof import("../pages/hello.wrn"))["default"]>;
    "/realtime/chat": RealtimeMessage<(typeof import("../realtime/chat.ts"))["default"]>;
  }
  interface QueuePayloads {
    "welcome-email": QueuePayload<(typeof import("../queues/welcome-email.ts"))["default"]>;
  }
  type ApplicationConfig = (typeof import("../../wrnexus.config.ts"))["default"];
}
