import type { ArkmeEnvironment, ArkmeSourceItem } from '../types.js'; export { filterArkmeTopicSources } from './topic-search.js'; export interface ArkmeTopicDirectoryPopoverProps { userId: number; environment?: ArkmeEnvironment; selectedSource: ArkmeSourceItem | undefined; trigger?: 'button' | 'none'; onSelect(source: ArkmeSourceItem): void; onSelectionRefreshed?(source: ArkmeSourceItem): void; onSelectionInvalidated(): void; onCreateWarning(message: string): void; onSelfSourcesResolution(userId: number, resolution: ArkmeSelfSourcesResolution): void; onCreateTopicReady?(open: ArkmeTopicCreateOpener | undefined): void; retryRevision: number; } export type ArkmeTopicCreateOpener = (parent?: ArkmeSourceItem | null, parentLevel?: number) => void; export type ArkmeSelfSourcesResolution = { status: 'loading'; } | { status: 'ready'; aggregateSource: ArkmeSourceItem; defaultCategorySource: ArkmeSourceItem; sources: ArkmeSourceItem[]; loading: boolean; complete?: boolean; error?: string; } | { status: 'error'; message: string; }; export type ArkmeTopicSelectionReconciliation = { status: 'aggregate'; } | { status: 'selected'; source: ArkmeSourceItem; } | { status: 'invalid'; }; export declare function reconcileArkmeTopicSelection(selectedSource: ArkmeSourceItem | undefined, loaded: ArkmeSourceItem[]): ArkmeTopicSelectionReconciliation; /** Merge successive pages without discarding hierarchy metadata refreshed on a later page. */ export declare function mergeArkmeTopicSourcePages(current: readonly ArkmeSourceItem[], incoming: readonly ArkmeSourceItem[]): ArkmeSourceItem[]; export declare const ARKME_TOPIC_DIRECTORY_POPOVER_MAX_HEIGHT = "min(550px, calc(100vh - 112px))"; export declare const ARKME_TOPIC_DIRECTORY_SEARCH_BG: "var(--dsw-specific-input-major, var(--dsw-alias-bg-layer-2, #ffffff))"; export declare function ArkmeTopicDirectoryPopover({ userId, environment, selectedSource, trigger, onSelect, onSelectionRefreshed, onSelectionInvalidated, onSelfSourcesResolution, onCreateWarning, onCreateTopicReady, retryRevision, }: ArkmeTopicDirectoryPopoverProps): import("react").JSX.Element; //# sourceMappingURL=ArkmeTopicDirectoryPopover.d.ts.map