import { PropsWithChildren } from 'react';
import { ExpenseAutomationViewType, ID } from '@zeniai/client-epic-state';
export type ExpenseAutomationCommentingRegistrarKey = "transaction_categorization" | "missing_receipts.missing" | "missing_receipts.completed" | "reconciliation.accounts" | "reconciliation.review" | "reconciliation.reconcile" | "flux_analysis" | "je_schedules.list";
export interface ExpenseAutomationCommentingContextValue {
    tabEntityIds: ReadonlySet<ID>;
    openCommentDrawer: () => void;
    registerTabEntityIds: (key: ExpenseAutomationCommentingRegistrarKey, ids: ReadonlyArray<ID> | null) => void;
}
export declare const ExpenseAutomationCommentingContext: import('react').Context<ExpenseAutomationCommentingContextValue | undefined>;
export declare const useExpenseAutomationCommentingContext: () => ExpenseAutomationCommentingContextValue | undefined;
export declare const useExpenseAutomationTabEntityIdRegistration: (key: ExpenseAutomationCommentingRegistrarKey, ids: ReadonlyArray<ID> | null) => void;
export type ExpenseAutomationThreadClickTarget = {
    entityId: ID;
    kind: "transaction";
    view: ExpenseAutomationViewType;
};
export interface ExpenseAutomationCommentingShellProps {
    companyId: ID;
    currentSelectedView: ExpenseAutomationViewType;
    isCommentingEnabled: boolean;
    onThreadClickRoute?: (target: ExpenseAutomationThreadClickTarget) => void;
}
export declare const getExpenseAutomationEntityTypePrefixesForView: (view: ExpenseAutomationViewType) => string[];
export declare const ExpenseAutomationCommentingShell: ({ children, companyId, currentSelectedView, isCommentingEnabled, onThreadClickRoute, }: PropsWithChildren<ExpenseAutomationCommentingShellProps>) => import("react/jsx-runtime").JSX.Element;
