import { ReactNode } from 'react';
import { GhanttHorizontalScroll } from './ghanttHorizontalScroll';
import { GhanttTimelineSlot, GhanttUpperSegment } from './ganttTimeline';
import { GhanttAppearanceProps, GhanttEventsProps, GhanttTimelineProps } from './types';
/** Eje temporal diario resuelto (misma ventana para cabecera, celdas y % de barras). `endExclusiveMs` es exclusivo. */
export interface GhanttDayAxis {
    startMs: number;
    endExclusiveMs: number;
}
/** Valor del contexto: timeline y opciones compartidas por la columna Gantt (cabecera + celdas). */
export interface GhanttConfigContextValue<T = unknown> {
    timeline: GhanttTimelineProps;
    appearance: GhanttAppearanceProps;
    events: GhanttEventsProps<T>;
    /**
     * Slots del timeline precalculados por {@link Ghantt} (misma referencia para cabecera y todas las filas).
     * Evita repetir `ghanttBuildTimelineSlots` en cada celda cuando el rango es muy largo.
     */
    timelineSlots?: readonly GhanttTimelineSlot[];
    /** Segmentos de la planta superior (meses/años) precalculados. */
    upperSegments?: readonly GhanttUpperSegment[];
    /** Presente con `scale: 'day'`: rango ampliado a meses completos para scroll y alineación de barras. */
    dayAxis?: GhanttDayAxis | null;
    /** Scroll horizontal unificado (cabecera = viewport; cuerpo = translate). Solo lo define {@link Ghantt}. */
    horizontalScroll?: GhanttHorizontalScroll | null;
}
export declare function GhanttConfigProvider<T>({ value, children, }: {
    value: GhanttConfigContextValue<T>;
    children: ReactNode;
}): import("react/jsx-runtime").JSX.Element;
/**
 * Configuración de la columna Gantt inyectada por el organismo `Ghantt`.
 * Fuera del proveedor devuelve `null`.
 */
export declare function useGhanttConfig<T = unknown>(): GhanttConfigContextValue<T> | null;
//# sourceMappingURL=GhanttConfigContext.d.ts.map