import React from 'react'; import { Gantt } from '@choerodon/gantt'; import '@choerodon/gantt/dist/gantt.cjs.production.min.css'; import { ListLayoutColumnVO } from '@/api'; import { IFoundationHeader, Issue } from '@/common/types'; import { IGanttSortLabelProps, IGanttSortLabelSortItem } from '../components/gantt-sort-label'; import { TableCacheRenderProps } from '@/components/table-cache'; import type { GanttIssue } from '../types'; import { IGanttPageProps } from '../Gantt'; interface IGanttColumnsHookProps extends TableCacheRenderProps { menuType: IGanttPageProps['menuType']; projectId?: string; isInProgram: boolean; sortedList: IGanttSortLabelSortItem[]; onClickSummary?: (issue: GanttIssue) => void; onSortChange: IGanttSortLabelProps['onChange']; onCreateSubIssue?: (parentIssue: GanttIssue) => void; onAfterCreateSubIssue?: (createId?: number, createSuccessData?: { subIssue: Issue; parentIssueId: string; }, flagFailed?: boolean) => void; } interface IGanttOrgColumnsHookProps extends TableCacheRenderProps { onClickSummary?: (issue: GanttIssue) => void; projectId?: string; } declare function useGanttProjectColumns({ cached, onAfterCreateSubIssue, onCreateSubIssue, onClickSummary, onSortChange, projectId, menuType, isInProgram, sortedList, }: IGanttColumnsHookProps): { columns: Gantt.Column>[]; setColumns: React.Dispatch>[]>>; visibleColumnCodes: string[]; tableWithSortedColumns: Gantt.Column>[]; listLayoutColumns: (ListLayoutColumnVO & IFoundationHeader & { label: string; })[]; }; declare function useGanttOrgColumns({ cached, }: IGanttOrgColumnsHookProps): { columns: Gantt.Column>[]; setColumns: React.Dispatch>[]>>; visibleColumnCodes: string[]; tableWithSortedColumns: Gantt.Column>[]; listLayoutColumns: (ListLayoutColumnVO & IFoundationHeader & { label: string; })[]; }; export { useGanttOrgColumns }; export default useGanttProjectColumns;