import { FlowBase, type FlowRunOptions } from '../../common'; import 'reflect-metadata'; import { type Authorization } from '@frontmcp/auth'; import { z } from '@frontmcp/lazy-zod'; declare const inputSchema: import("@frontmcp/lazy-zod").ZodObject<{ request: import("@frontmcp/lazy-zod").ZodObject<{}, import("zod/v4/core").$loose>; }, import("zod/v4/core").$strip>; declare const stateSchema: import("@frontmcp/lazy-zod").ZodObject<{ baseUrl: import("@frontmcp/lazy-zod").ZodString; authorizationHeader: import("@frontmcp/lazy-zod").ZodOptional; token: import("@frontmcp/lazy-zod").ZodOptional; sessionIdHeader: import("@frontmcp/lazy-zod").ZodOptional; prmUrl: import("@frontmcp/lazy-zod").ZodString; wwwAuthenticateHeader: import("@frontmcp/lazy-zod").ZodString; authMode: import("@frontmcp/lazy-zod").ZodOptional>; jwtPayload: import("@frontmcp/lazy-zod").ZodOptional>; user: import("@frontmcp/lazy-zod").ZodOptional; email: import("@frontmcp/lazy-zod").ZodOptional; picture: import("@frontmcp/lazy-zod").ZodOptional; anonymous: import("@frontmcp/lazy-zod").ZodOptional; }, import("zod/v4/core").$strip>>; }, import("zod/v4/core").$strip>; export declare const authVerifyOutputSchema: import("@frontmcp/lazy-zod").ZodUnion; wwwAuthenticateHeader: import("@frontmcp/lazy-zod").ZodString; reason: import("@frontmcp/lazy-zod").ZodOptional; }, import("zod/v4/core").$strip>, import("@frontmcp/lazy-zod").ZodObject<{ kind: import("@frontmcp/lazy-zod").ZodLiteral<"authorized">; authorization: import("zod").ZodCustom; llmContext: import("@frontmcp/lazy-zod").ZodOptional; isAnonymous: import("@frontmcp/lazy-zod").ZodBoolean; user: import("@frontmcp/lazy-zod").ZodObject<{ sub: import("@frontmcp/lazy-zod").ZodString; name: import("@frontmcp/lazy-zod").ZodOptional; }, import("zod/v4/core").$strip>; scopes: import("@frontmcp/lazy-zod").ZodArray; authorizedToolIds: import("@frontmcp/lazy-zod").ZodArray; authorizedPromptIds: import("@frontmcp/lazy-zod").ZodArray; }, import("zod/v4/core").$strip>>; }, import("zod/v4/core").$strip>, import("@frontmcp/lazy-zod").ZodObject<{ kind: import("@frontmcp/lazy-zod").ZodLiteral<"forbidden">; wwwAuthenticateHeader: import("@frontmcp/lazy-zod").ZodString; reason: import("@frontmcp/lazy-zod").ZodOptional; }, import("zod/v4/core").$strip>]>; export type AuthVerifyOutput = z.infer; declare const plan: { readonly pre: ["parseInput", "determineAuthMode", "handlePublicMode", "handleAnonymousFallback", "requireAuthorizationHeader", "verifyToken"]; readonly execute: ["buildAuthorization"]; }; declare global { interface ExtendFlows { 'auth:verify': FlowRunOptions; } } declare const name: "auth:verify"; /** * Auth Verify Flow * * New authorization verification flow that supports the three auth modes: * - public: Auto-generate anonymous authorization * - transparent: Pass-through OAuth tokens from upstream provider * - orchestrated: Local auth server with secure token storage * * This flow creates Authorization objects instead of legacy Session objects. */ export default class AuthVerifyFlow extends FlowBase { private logger; /** * Parse request headers and build WWW-Authenticate header */ parseInput(): Promise; /** * Determine which auth mode to use based on scope configuration */ determineAuthMode(): Promise; /** * Handle public mode - create anonymous authorization without requiring a token */ handlePublicMode(): Promise; /** * Handle transparent mode with allowAnonymous when no token is provided * Uses the same TTL and issuer configuration as handlePublicMode for consistency */ handleAnonymousFallback(): Promise; /** * Require authorization header for non-public modes (unless allowAnonymous is set) */ requireAuthorizationHeader(): Promise; /** * Verify the JWT token */ verifyToken(): Promise; /** * Build the Authorization object based on auth mode */ buildAuthorization(): Promise; /** * Parse TTL from string or number */ private parseTtl; /** * Parse scopes from JWT claim */ private parseScopes; } export {}; //# sourceMappingURL=auth.verify.flow.d.ts.map