import * as react from 'react'; import { ComponentType, ReactNode } from 'react'; import { p as AssociationsNotifier, W as WindowShellPort, q as CapturePort, r as PickerOverrideMap, s as EntityDoorsPort, t as AuthorDisplayPort, u as AssociationsStore } from '../../store-BDkADbPU.cjs'; import { AssociationPickerProps } from '../index.cjs'; import '@ai-matrx/data/db'; interface AssociationsUiPorts { notifier?: AssociationsNotifier; windowShell?: WindowShellPort; capture?: CapturePort; pickerOverrides?: PickerOverrideMap; entityDoors?: EntityDoorsPort; authorDisplay?: AuthorDisplayPort; /** * The host's compact markdown renderer for a comment body (an edit thread's * quoted "Was:/Now:" blocks). Absent → the package's built-in renderer. */ commentBody?: ComponentType<{ body: string; className?: string | undefined; }>; /** * Sign in again (a signed-out tab). Shown as the action beside a signed-out * failure; absent → the sentence alone, with Retry. The host opens its login * in a NEW tab so the words typed here stay for Retry. */ signIn?: () => void; } interface AssociationsProviderProps extends AssociationsUiPorts { /** The /core store the host constructed with `createAssociationsStore`. */ store: AssociationsStore; children: ReactNode; } declare function AssociationsProvider({ store, notifier, windowShell, capture, pickerOverrides, entityDoors, authorDisplay, commentBody, signIn, children, }: AssociationsProviderProps): react.JSX.Element; /** The /core store bound by the nearest provider. Throws when unmounted. */ declare function useAssociationsStore(): AssociationsStore; /** The UI ports the host bound (each optional, each degradable). */ declare function useAssociationsUiPorts(): AssociationsUiPorts; /** * The notifier, degraded per contract: absent → warn once via errorSink, * then route every user-facing failure to the errorSink so no outcome is * silent. Success messages without a notifier are dropped (the surface's own * state change is the confirmation); failures always scream. */ declare function useNotifier(): AssociationsNotifier; /** What a `windowShell.Window` component receives. */ interface WindowShellComponentProps { id: string; title: string; onClose(): void; children: ReactNode; } /** * Split a host window component off the boot bundle. The returned component * satisfies `WindowShellPort["Window"]` exactly; the chunk fetches the first * time an association window opens. */ declare function lazyWindowShell(load: () => Promise | { default: ComponentType; }>): WindowShellPort["Window"]; /** * Split a host per-token picker override off the boot bundle. The returned * component satisfies the `pickerOverrides` map's value type exactly. */ declare function lazyPickerOverride(load: () => Promise | { default: ComponentType; }>): ComponentType; export { AssociationsProvider, lazyPickerOverride, lazyWindowShell, useAssociationsStore, useAssociationsUiPorts, useNotifier }; export type { AssociationsProviderProps, AssociationsUiPorts, WindowShellComponentProps };