import { ReactNode } from 'react'; import { ClientAnalytics } from '@zeniai/client-analytics'; import { AuthParams } from '@zeniai/client-epic-state'; import * as Sentry from "@sentry/react"; export type SentryType = typeof Sentry; export interface ToolkitType { analytics: ClientAnalytics; authParams: AuthParams; sentry: SentryType; /** * Resolves a `zeni://` deep-link URN from an AI CFO answer to an in-app path, * returning `null` when it cannot be opened (unknown target, or a page this * tenant's feature flags don't expose) so the link renders as plain text. * * The host owns resolution because the routes, tenant and feature flags * already live there. Keeping the route table out of this library is also what * makes stored answers durable: chat history holds a URN, not a path, so a * route rename is absorbed here instead of breaking every answer ever saved. */ resolveDeepLink?: (urn: string) => string | null; } export interface Props { children: ReactNode | ReactNode[]; toolkit: ToolkitType; } export declare const useToolkitContext: () => ToolkitType; export declare const ToolkitProvider: (props: Props) => import("react/jsx-runtime").JSX.Element;