import * as react_jsx_runtime from 'react/jsx-runtime'; import * as React from 'react'; type WidgetType = "admin-portal-audit-log-streaming" | "admin-portal-domain-verification" | "user-management" | "organization-switcher" | "user-sessions" | "user-security" | "user-profile" | "admin-portal-sso-connection" | "api-keys" | "pipes" | "directory-sync"; type AuthToken = string | (() => Promise); interface ElevatedAccess { token: string; expiresAt: string; } interface ApiConfig { authToken: string | undefined; permissions: string[] | undefined; exp: number | undefined; baseUrl: string; widgetType: WidgetType; elevatedAccess?: ElevatedAccess; setElevatedAccess: (elevatedAccess?: ElevatedAccess) => void; } interface AuthTokenQueryData { authToken: string; permissions: string[] | undefined; exp: number | undefined; } declare const authTokenQueryKey: (widgetType: WidgetType) => readonly ["authToken", WidgetType]; interface ApiProviderProps { authToken: AuthToken; baseUrl: string; children: React.ReactNode; widgetType: WidgetType; } declare const ApiProvider: ({ authToken, baseUrl, children, widgetType, }: ApiProviderProps) => react_jsx_runtime.JSX.Element; declare const useApi: () => ApiConfig; declare const useElevatedAccessToken: () => { elevatedAccess: ElevatedAccess | undefined; setElevatedAccess: (elevatedAccess?: ElevatedAccess) => void; }; declare const useApiReady: () => boolean; export { ApiProvider, type AuthToken, type AuthTokenQueryData, type WidgetType, authTokenQueryKey, useApi, useApiReady, useElevatedAccessToken };