import { default as React } from 'react';
import { Task, ViewMode } from 'gantt-task-react';
import { IArchbaseDataSourceBase } from '@archbase/data';
export { ViewMode } from 'gantt-task-react';
export type { Task } from 'gantt-task-react';
export interface ArchbaseGanttProps<T = any, ID = any> {
    /** DataSource que fornece a coleção de tarefas */
    dataSource?: IArchbaseDataSourceBase<T>;
    /** Campo que mapeia o id da tarefa */
    idField?: string;
    /** Campo que mapeia o nome da tarefa */
    nameField?: string;
    /** Campo que mapeia a data de início */
    startDateField?: string;
    /** Campo que mapeia a data de término */
    endDateField?: string;
    /** Campo que mapeia o progresso (0-100) */
    progressField?: string;
    /** Campo que mapeia dependências (array de IDs) */
    dependenciesField?: string;
    /** Campo que mapeia o tipo ('task' | 'milestone' | 'project') */
    typeField?: string;
    /** Campo que mapeia o ID do registro pai */
    parentIdField?: string;
    /** Tarefas standalone (quando não se usa dataSource) */
    tasks?: Task[];
    /** Modo de visualização do gantt */
    viewMode?: ViewMode;
    /** Locale para formatação de datas */
    locale?: string;
    /** Largura das células da lista de tarefas */
    listCellWidth?: string;
    /** Largura de cada coluna do gantt */
    columnWidth?: number;
    /** Altura de cada linha */
    rowHeight?: number;
    /** Percentual de preenchimento da barra */
    barFill?: number;
    /** Exibe a lista de tarefas à esquerda */
    showTaskList?: boolean;
    /** Callback quando uma tarefa é alterada (data arrastada) */
    onTaskChange?: (task: T) => void;
    /** Callback quando uma tarefa é deletada */
    onTaskDelete?: (task: T) => void;
    /** Callback quando o progresso de uma tarefa é alterado */
    onProgressChange?: (task: T, progress: number) => void;
    /** Callback ao dar duplo clique em uma tarefa */
    onDoubleClick?: (task: T) => void;
    /** Callback ao clicar em uma tarefa */
    onClick?: (task: T) => void;
    /** Callback ao selecionar/deselecionar uma tarefa */
    onSelect?: (task: T, isSelected: boolean) => void;
    /** Label do componente (usado com Input.Wrapper) */
    label?: React.ReactNode;
    /** Descrição do componente (usado com Input.Wrapper) */
    description?: React.ReactNode;
    /** Somente leitura — desabilita edição por drag */
    readOnly?: boolean;
    /** Estilo inline do container */
    style?: React.CSSProperties;
    /** Classe CSS do container */
    className?: string;
    /** Largura do container */
    width?: string | number;
    /** Altura do container */
    height?: string | number;
}
export declare const ArchbaseGantt: <T = any, ID = any>(props: ArchbaseGanttProps<T, ID> & {
    ref?: React.Ref<HTMLDivElement>;
}) => React.ReactElement | null;
