import { IReportButtons } from './report-buttons/report-buttons'; import { TabProps } from '../tabs/tabs'; import { default as React } from 'react'; interface IReportFilters { company: number; start_date: string; end_date: string; as_of_date: string; } /** Descriptor for a custom component injected into the filter row. */ interface ICustomFilterComponent { /** Unique key used for React reconciliation. */ key: string; /** The ReactNode to render inside the filter bar. */ component: React.ReactNode; } interface ActionBarPropsType extends Partial, IReportButtons { title: string; handleAddButton?: (e?: any) => void; isTitleMenu?: boolean; titleMenus?: any; reportFilterFields?: any[]; isDateFilterEnabled?: boolean; onDateFilterChange?: (data: Partial<{ company: string | number; start_date: string; end_date: string; as_of_date: string; }>) => void; filters?: Partial; isDateRange?: boolean; /** * When `false` the Date chip and the date-range dropdown button are hidden * and date-related keys (`start_date`, `end_date`, `as_of_date`) are stripped * from every filter payload so they cannot reach the API. * Defaults to `true` (backward-compatible). */ showDateFilter?: boolean; dateFilter?: string; showCancelButton?: boolean; searchBar?: React.ReactNode; /** * Optional list of custom components to render inside the filter row. * Each entry must have a unique `key` and a `component` (ReactNode). * They are appended after the standard SearchableSelect filters. */ customFilterComponents?: ICustomFilterComponent[]; autoShowFiltersWithValue?: boolean; defaultVisibleFilters?: { value: string; }[]; } declare const ReportsTitleBar: (props: ActionBarPropsType) => import("react/jsx-runtime").JSX.Element; export { ReportsTitleBar }; export default ReportsTitleBar;