import { z } from 'zod'; /** * Client ID Metadata Document * https://modelcontextprotocol.io/specification/2025-11-25/basic/authorization * * MCP 2025-11-25 specification allows HTTPS URLs as client identifiers * that resolve to metadata documents. */ export declare const ClientIDMetadataDocumentSchema: z.ZodObject<{ client_id: z.ZodString; client_name: z.ZodString; redirect_uris: z.ZodArray; token_endpoint_auth_method: z.ZodOptional>; grant_types: z.ZodOptional, "many">>; response_types: z.ZodOptional>; client_uri: z.ZodOptional; logo_uri: z.ZodOptional; contacts: z.ZodOptional>; tos_uri: z.ZodOptional; policy_uri: z.ZodOptional; jwks_uri: z.ZodOptional; jwks: z.ZodOptional>; software_id: z.ZodOptional; software_version: z.ZodOptional; scope: z.ZodOptional; }, "strip", z.ZodTypeAny, { redirect_uris: string[]; client_name: string; client_id: string; jwks_uri?: string | undefined; token_endpoint_auth_method?: "none" | "client_secret_post" | "client_secret_basic" | "client_secret_jwt" | "private_key_jwt" | undefined; grant_types?: ("authorization_code" | "implicit" | "password" | "client_credentials" | "refresh_token" | "urn:ietf:params:oauth:grant-type:jwt-bearer" | "urn:ietf:params:oauth:grant-type:saml2-bearer")[] | undefined; response_types?: string[] | undefined; client_uri?: string | undefined; logo_uri?: string | undefined; contacts?: string[] | undefined; tos_uri?: string | undefined; policy_uri?: string | undefined; jwks?: {} | undefined; software_id?: string | undefined; software_version?: string | undefined; scope?: string | undefined; }, { redirect_uris: string[]; client_name: string; client_id: string; jwks_uri?: string | undefined; token_endpoint_auth_method?: "none" | "client_secret_post" | "client_secret_basic" | "client_secret_jwt" | "private_key_jwt" | undefined; grant_types?: ("authorization_code" | "implicit" | "password" | "client_credentials" | "refresh_token" | "urn:ietf:params:oauth:grant-type:jwt-bearer" | "urn:ietf:params:oauth:grant-type:saml2-bearer")[] | undefined; response_types?: string[] | undefined; client_uri?: string | undefined; logo_uri?: string | undefined; contacts?: string[] | undefined; tos_uri?: string | undefined; policy_uri?: string | undefined; jwks?: {} | undefined; software_id?: string | undefined; software_version?: string | undefined; scope?: string | undefined; }>; export type ClientIDMetadataDocument = z.infer; /** * Validate that a client_id is a valid URL with path component * Allows HTTP for localhost/development, but HTTPS is required for production */ export declare function isValidClientIDUrl(clientId: string): boolean; /** * Check if URL should use HTTPS in production */ export declare function shouldUseHTTPS(clientId: string): { valid: boolean; reason?: string; }; /** * Fetch and parse a Client ID Metadata Document from an HTTPS URL */ export declare function fetchClientIDMetadataDocument(clientId: string, _enableDebug?: boolean): Promise; /** * Validation result for Client ID Metadata Document */ export interface ClientIDMetadataValidationResult { valid: boolean; errors: string[]; warnings: string[]; document?: ClientIDMetadataDocument; debug?: { request?: { url?: string; method?: string; headers?: Record; }; response?: { status?: number; statusText?: string; headers?: Record; body?: string; }; }; } /** * Validate a Client ID Metadata Document */ export declare function validateClientIDMetadataDocument(clientId: string, enableDebug?: boolean): Promise; //# sourceMappingURL=client-id-metadata.d.ts.map