import { z } from "zod"; /** * Base scope definition with common properties. */ export declare const ScopeSchema: z.ZodObject<{ /** Name of the scope */ name: z.ZodString; /** Optional description of the scope */ description: z.ZodOptional; /** Whether this scope is required */ required: z.ZodOptional; }, "strip", z.ZodTypeAny, { name: string; description?: string | undefined; required?: boolean | undefined; }, { name: string; description?: string | undefined; required?: boolean | undefined; }>; /** * Scope definition for attribute access. */ export declare const AttributeScopeSchema: z.ZodObject<{ /** Name of the scope */ name: z.ZodString; /** Optional description of the scope */ description: z.ZodOptional; /** Whether this scope is required */ required: z.ZodOptional; } & { /** List of attributes that can be accessed */ attributes: z.ZodArray; }, "strip", z.ZodTypeAny, { name: string; attributes: string[]; description?: string | undefined; required?: boolean | undefined; }, { name: string; attributes: string[]; description?: string | undefined; required?: boolean | undefined; }>; /** * Scope definition for permission access. */ export declare const PermissionScopeSchema: z.ZodObject<{ /** Name of the scope */ name: z.ZodString; /** Optional description of the scope */ description: z.ZodOptional; /** Whether this scope is required */ required: z.ZodOptional; } & { /** List of roles that can be accessed */ roles: z.ZodOptional>; }, "strip", z.ZodTypeAny, { name: string; description?: string | undefined; required?: boolean | undefined; roles?: string[] | undefined; }, { name: string; description?: string | undefined; required?: boolean | undefined; roles?: string[] | undefined; }>; /** * Options for verifying access tokens. */ export declare const VerifyTokenOptionsSchema: z.ZodObject<{ /** Scopes to verify against the token */ requiredScopes: z.ZodOptional>; /** Audience(s) to verify against the token */ audience: z.ZodOptional>; /** Key to use for token verification */ key: z.ZodOptional>; /** Resource indicator to validate according to RFC 8707 */ resourceIndicator: z.ZodOptional; }, "strip", z.ZodTypeAny, { requiredScopes?: string[] | undefined; audience?: string[] | undefined; key?: any; resourceIndicator?: string | undefined; }, { requiredScopes?: string[] | undefined; audience?: string[] | undefined; key?: any; resourceIndicator?: string | undefined; }>; /** * Configuration for dynamic client registration functionality. */ export declare const DynamicClientRegistrationOptionsSchema: z.ZodObject<{ /** Whether dynamic client registration is enabled */ isDisabled: z.ZodOptional; /** URL for the authentication flow */ authPageUrl: z.ZodOptional; /** Scopes for attribute access */ attributeScopes: z.ZodOptional; /** Whether this scope is required */ required: z.ZodOptional; } & { /** List of attributes that can be accessed */ attributes: z.ZodArray; }, "strip", z.ZodTypeAny, { name: string; attributes: string[]; description?: string | undefined; required?: boolean | undefined; }, { name: string; attributes: string[]; description?: string | undefined; required?: boolean | undefined; }>, "many">>; /** Scopes for permission access */ permissionScopes: z.ZodOptional; /** Whether this scope is required */ required: z.ZodOptional; } & { /** List of roles that can be accessed */ roles: z.ZodOptional>; }, "strip", z.ZodTypeAny, { name: string; description?: string | undefined; required?: boolean | undefined; roles?: string[] | undefined; }, { name: string; description?: string | undefined; required?: boolean | undefined; roles?: string[] | undefined; }>, "many">>; /** Logo for the client */ logo: z.ZodOptional; /** Whether the client is confidential */ nonConfidentialClient: z.ZodOptional; }, "strip", z.ZodTypeAny, { isDisabled?: boolean | undefined; authPageUrl?: string | undefined; attributeScopes?: { name: string; attributes: string[]; description?: string | undefined; required?: boolean | undefined; }[] | undefined; permissionScopes?: { name: string; description?: string | undefined; required?: boolean | undefined; roles?: string[] | undefined; }[] | undefined; logo?: string | undefined; nonConfidentialClient?: boolean | undefined; }, { isDisabled?: boolean | undefined; authPageUrl?: string | undefined; attributeScopes?: { name: string; attributes: string[]; description?: string | undefined; required?: boolean | undefined; }[] | undefined; permissionScopes?: { name: string; description?: string | undefined; required?: boolean | undefined; roles?: string[] | undefined; }[] | undefined; logo?: string | undefined; nonConfidentialClient?: boolean | undefined; }>; /** * Configuration for OAuth 2.0 Authorization Server functionality. */ export declare const AuthorizationServerOptionsSchema: z.ZodObject<{ /** Whether the Authorization Server endpoints are disabled (default: true) */ isDisabled: z.ZodDefault>; /** Whether to enable the /authorize endpoint */ enableAuthorizeEndpoint: z.ZodOptional; /** Whether to enable dynamic client registration */ enableDynamicClientRegistration: z.ZodOptional; }, "strip", z.ZodTypeAny, { isDisabled: boolean; enableAuthorizeEndpoint?: boolean | undefined; enableDynamicClientRegistration?: boolean | undefined; }, { isDisabled?: boolean | undefined; enableAuthorizeEndpoint?: boolean | undefined; enableDynamicClientRegistration?: boolean | undefined; }>; /** * Configuration options for the Descope MCP SDK. */ export declare const DescopeMcpProviderOptionsSchema: z.ZodObject<{ /** * Descope project ID. Optional when `descopeMcpServerWellKnownUrl` or * `descopeMcpServerIssuer` uses a supported path (for example `/v1/apps/agentic//...`), * in which case the project ID is derived from that URL. */ projectId: z.ZodOptional; /** The Descope management key for administrative operations */ managementKey: z.ZodOptional; /** Descope endpoints are usually hosted on a different subdomain or domain * versus the MCP Server itself. This MCP Server URL allows us to * handle Dynamic Client Registration on a local server path. * **/ serverUrl: z.ZodOptional; /** The Descope base URL for project-based endpoint construction */ baseUrl: z.ZodOptional; /** * Inbound / MCP issuer URL. Path must be `/v1/apps/` or * `/v1/apps/agentic///...` (only supported issuer shapes). */ descopeMcpServerIssuer: z.ZodOptional; /** * MCP discovery URL ending in `/.well-known/openid-configuration`. After stripping that suffix, * the issuer path must be `/v1/apps/` or `/v1/apps/agentic///...`. */ descopeMcpServerWellKnownUrl: z.ZodOptional; /** Options for dynamic client registration */ dynamicClientRegistrationOptions: z.ZodOptional; /** URL for the authentication flow */ authPageUrl: z.ZodOptional; /** Scopes for attribute access */ attributeScopes: z.ZodOptional; /** Whether this scope is required */ required: z.ZodOptional; } & { /** List of attributes that can be accessed */ attributes: z.ZodArray; }, "strip", z.ZodTypeAny, { name: string; attributes: string[]; description?: string | undefined; required?: boolean | undefined; }, { name: string; attributes: string[]; description?: string | undefined; required?: boolean | undefined; }>, "many">>; /** Scopes for permission access */ permissionScopes: z.ZodOptional; /** Whether this scope is required */ required: z.ZodOptional; } & { /** List of roles that can be accessed */ roles: z.ZodOptional>; }, "strip", z.ZodTypeAny, { name: string; description?: string | undefined; required?: boolean | undefined; roles?: string[] | undefined; }, { name: string; description?: string | undefined; required?: boolean | undefined; roles?: string[] | undefined; }>, "many">>; /** Logo for the client */ logo: z.ZodOptional; /** Whether the client is confidential */ nonConfidentialClient: z.ZodOptional; }, "strip", z.ZodTypeAny, { isDisabled?: boolean | undefined; authPageUrl?: string | undefined; attributeScopes?: { name: string; attributes: string[]; description?: string | undefined; required?: boolean | undefined; }[] | undefined; permissionScopes?: { name: string; description?: string | undefined; required?: boolean | undefined; roles?: string[] | undefined; }[] | undefined; logo?: string | undefined; nonConfidentialClient?: boolean | undefined; }, { isDisabled?: boolean | undefined; authPageUrl?: string | undefined; attributeScopes?: { name: string; attributes: string[]; description?: string | undefined; required?: boolean | undefined; }[] | undefined; permissionScopes?: { name: string; description?: string | undefined; required?: boolean | undefined; roles?: string[] | undefined; }[] | undefined; logo?: string | undefined; nonConfidentialClient?: boolean | undefined; }>>; /** Options for Authorization Server endpoints */ authorizationServerOptions: z.ZodOptional>; /** Whether to enable the /authorize endpoint */ enableAuthorizeEndpoint: z.ZodOptional; /** Whether to enable dynamic client registration */ enableDynamicClientRegistration: z.ZodOptional; }, "strip", z.ZodTypeAny, { isDisabled: boolean; enableAuthorizeEndpoint?: boolean | undefined; enableDynamicClientRegistration?: boolean | undefined; }, { isDisabled?: boolean | undefined; enableAuthorizeEndpoint?: boolean | undefined; enableDynamicClientRegistration?: boolean | undefined; }>>; /** Options for token verification */ verifyTokenOptions: z.ZodOptional>; /** Audience(s) to verify against the token */ audience: z.ZodOptional>; /** Key to use for token verification */ key: z.ZodOptional>; /** Resource indicator to validate according to RFC 8707 */ resourceIndicator: z.ZodOptional; }, "strip", z.ZodTypeAny, { requiredScopes?: string[] | undefined; audience?: string[] | undefined; key?: any; resourceIndicator?: string | undefined; }, { requiredScopes?: string[] | undefined; audience?: string[] | undefined; key?: any; resourceIndicator?: string | undefined; }>>; /** Human readable documentation */ serviceDocumentationUrl: z.ZodOptional; }, "strip", z.ZodTypeAny, { projectId?: string | undefined; managementKey?: string | undefined; serverUrl?: string | undefined; baseUrl?: string | undefined; descopeMcpServerIssuer?: string | undefined; descopeMcpServerWellKnownUrl?: string | undefined; dynamicClientRegistrationOptions?: { isDisabled?: boolean | undefined; authPageUrl?: string | undefined; attributeScopes?: { name: string; attributes: string[]; description?: string | undefined; required?: boolean | undefined; }[] | undefined; permissionScopes?: { name: string; description?: string | undefined; required?: boolean | undefined; roles?: string[] | undefined; }[] | undefined; logo?: string | undefined; nonConfidentialClient?: boolean | undefined; } | undefined; authorizationServerOptions?: { isDisabled: boolean; enableAuthorizeEndpoint?: boolean | undefined; enableDynamicClientRegistration?: boolean | undefined; } | undefined; verifyTokenOptions?: { requiredScopes?: string[] | undefined; audience?: string[] | undefined; key?: any; resourceIndicator?: string | undefined; } | undefined; serviceDocumentationUrl?: string | undefined; }, { projectId?: string | undefined; managementKey?: string | undefined; serverUrl?: string | undefined; baseUrl?: string | undefined; descopeMcpServerIssuer?: string | undefined; descopeMcpServerWellKnownUrl?: string | undefined; dynamicClientRegistrationOptions?: { isDisabled?: boolean | undefined; authPageUrl?: string | undefined; attributeScopes?: { name: string; attributes: string[]; description?: string | undefined; required?: boolean | undefined; }[] | undefined; permissionScopes?: { name: string; description?: string | undefined; required?: boolean | undefined; roles?: string[] | undefined; }[] | undefined; logo?: string | undefined; nonConfidentialClient?: boolean | undefined; } | undefined; authorizationServerOptions?: { isDisabled?: boolean | undefined; enableAuthorizeEndpoint?: boolean | undefined; enableDynamicClientRegistration?: boolean | undefined; } | undefined; verifyTokenOptions?: { requiredScopes?: string[] | undefined; audience?: string[] | undefined; key?: any; resourceIndicator?: string | undefined; } | undefined; serviceDocumentationUrl?: string | undefined; }>; export type Scope = z.infer; export type AttributeScope = z.infer; export type PermissionScope = z.infer; export type VerifyTokenOptions = z.infer; export type DynamicClientRegistrationOptions = z.infer; export type AuthorizationServerOptions = z.infer; export type DescopeMcpProviderOptions = z.infer; //# sourceMappingURL=options.d.ts.map