import { FunctionTool, JSONValue } from "llamaindex"; import { Store } from "@auth0/ai/stores"; import { AsyncAuthorizer } from "./AsyncAuthorization"; import { DeviceAuthorizer } from "./Device"; import { FGA_AI } from "./FGA_AI"; import { TokenVaultAuthorizer } from "./TokenVault"; import type { Auth0ClientParams } from "@auth0/ai"; type ToolWrapper = ReturnType; type TokenVaultParams = Omit[1], "store">; export type CIBAParams = Omit[1], "store">; export type DeviceParams = Omit[1], "store">; type Auth0AIParams = { auth0?: Partial; store?: Store; }; export declare class Auth0AI { private config; private store; constructor({ auth0, store }?: Auth0AIParams); /** * Builds a CIBA Authorizer for a tool. * @param params - The CIBA authorizer options. * @returns - The authorizer. */ withAsyncAuthorization(params: CIBAParams): ToolWrapper; /** * Protects a tool with the CIBA authorizer. * @param params - The CIBA authorizer options. * @param tool - The tool to protect. * @returns The protected tool. */ withAsyncAuthorization, AdditionalToolArgument extends object = object>(params: CIBAParams, tool: FunctionTool): FunctionTool; /** * Builds a Token Vault authorizer for a tool. * * @param params - The Token Vaults authorizer options. * @returns The authorizer. */ withTokenVault(params: TokenVaultParams): ToolWrapper; /** * Protects a tool execution with the Token Vault authorizer. * * @param params - The Token Vaults authorizer options. * @param tool - The tool to protect. * @returns The protected tool. */ withTokenVault, AdditionalToolArgument extends object = object>(params: TokenVaultParams, tool: FunctionTool): FunctionTool; /** * 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, AdditionalToolArgument extends object = object>(params: DeviceParams, tool: FunctionTool): FunctionTool; static FGA: typeof FGA_AI; } export {}; //# sourceMappingURL=Auth0AI.d.ts.map