import { AuthenticationClientOptions } from "auth0"; import { z } from "genkit"; import { GenkitBeta } from "genkit/beta"; import { Store } from "@auth0/ai/stores"; import { AsyncAuthorizer } from "./AsyncAuthorization"; import { DeviceAuthorizer } from "./Device/DeviceAuthorizer"; import { FGA_AI } from "./FGA_AI"; import { TokenVaultAuthorizer } from "./TokenVault"; import type { ToolWrapper, ToolDefinition } from "./lib"; type Auth0ClientParams = Pick; export type CIBAParams = Omit[2], "store">; export type DeviceParams = Omit[2], "store">; export type TokenVaultParams = Omit[2], "store">; type Auth0AIParams = { auth0?: Partial; store?: Store; genkit: GenkitBeta; }; export declare class Auth0AI { private config; private store; private genkit; constructor({ auth0, store, genkit }: Auth0AIParams); /** * * Returns a tool authorizer that protects the tool * with the Client Initiated Base Authentication (CIBA) authorization control. * * @param params - The parameters for the CIBA authorization control. * @returns A tool authorizer. */ withAsyncAuthorization(params: CIBAParams): ToolWrapper; /** * * Protects a tool function with Client Initiated Base Authentication (CIBA) authorization control. * * @param params - The parameters for the CIBA authorization control. * @param tool - The tool to protect. * @returns The protected tool. */ withAsyncAuthorization(params: CIBAParams, toolConfig?: ToolDefinition[0], toolFn?: ToolDefinition[1]): ToolDefinition; /** * Builds a Device Flow Authorizer for a tool. * * @param params - The Device Flow Authorizer options. * @returns - The authorizer. */ withDeviceAuthorizationFlow(params: DeviceParams): ToolWrapper; /** * Protects a tool with the Device Flow Authorizer. * @param params - The Device Flow Authorizer options. * @param tool - The tool to protect. * @returns The protected tool. */ withDeviceAuthorizationFlow(params: DeviceParams, toolConfig?: ToolDefinition[0], toolFn?: ToolDefinition[1]): ToolDefinition; /** * Builds a Token Vault authorizer for a tool. * * @param params - The Token Vault authorizer options. * @returns The authorizer. */ withTokenVault(params: TokenVaultParams): ToolWrapper; /** * Protects a tool with the Token Vault authorizer. * * @param params - The Token Vault authorizer options. * @param tool - The tool to protect. * @returns The protected tool. */ withTokenVault(params: TokenVaultParams, toolConfig?: ToolDefinition[0], toolFn?: ToolDefinition[1]): ToolDefinition; static FGA: typeof FGA_AI; } export {}; //# sourceMappingURL=Auth0AI.d.ts.map