/** Public login-method aggregator and login-result schemas. */ import { z } from 'zod'; /** * One field of a `form` login method. `secret` fields render as password * inputs; `autocomplete` passes through to the input (e.g. "email", * "current-password", "new-password"). */ export declare const loginFormField: z.ZodObject<{ name: z.ZodString; label: z.ZodString; secret: z.ZodBoolean; autocomplete: z.ZodOptional; }, z.core.$strip>; /** * The two — and only two — login-method shapes. Discriminated on `shape`; an * unknown shape fails validation loudly (contract drift, not a soft skip). * Optional fields are `.optional()` (absent), never `.nullable()`: the server * serializes with `exclude_none`, so an absent field is OMITTED, never `null`. */ export declare const loginMethod: z.ZodDiscriminatedUnion<[z.ZodObject<{ shape: z.ZodLiteral<"form">; id: z.ZodString; title: z.ZodString; purpose: z.ZodDefault>; fields: z.ZodArray; }, z.core.$strip>>; submit_path: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"button">; id: z.ZodString; label: z.ZodString; icon: z.ZodOptional; href: z.ZodString; }, z.core.$strip>], "shape">; /** * `GET /api/login/methods` (PUBLIC). `needs_setup: true` ⇒ no principal exists * yet, so the deployment must be initialized through the setup door before anyone * can sign in. `setup_login` names the login-credential kinds the setup door can * attach the owner's login with; it is `null`/absent when no login-attaching * accounts provider is configured (a keys-only deployment). Non-strict — the * skeleton may grow additive fields. */ export declare const loginMethods: z.ZodObject<{ methods: z.ZodArray; id: z.ZodString; title: z.ZodString; purpose: z.ZodDefault>; fields: z.ZodArray; }, z.core.$strip>>; submit_path: z.ZodString; }, z.core.$strip>, z.ZodObject<{ shape: z.ZodLiteral<"button">; id: z.ZodString; label: z.ZodString; icon: z.ZodOptional; href: z.ZodString; }, z.core.$strip>], "shape">>; needs_setup: z.ZodBoolean; setup_login: z.ZodOptional>; }, z.core.$strip>>>; }, z.core.$strip>; /** * A successful login/exchange: the minted session token (opaque, `tai-sess-` * prefixed — the client treats it as an opaque string) + its user. */ export declare const loginResult: z.ZodObject<{ token: z.ZodString; user_id: z.ZodString; }, z.core.$strip>; export type LoginFormField = z.infer; export type LoginMethod = z.infer; export type LoginMethods = z.infer; export type LoginResult = z.infer; //# sourceMappingURL=login.d.ts.map