import { TimelineOptions, TimelineOrientation, TimelineLayout } from '../ArchbaseVisTimeline.types';
/**
 * Opções padrão para a timeline
 */
export declare const DEFAULT_TIMELINE_OPTIONS: Partial<TimelineOptions>;
/**
 * Opções por orientação
 */
export declare const ORIENTATION_OPTIONS: Record<TimelineOrientation, Partial<TimelineOptions>>;
/**
 * Opções por layout
 */
export declare const LAYOUT_OPTIONS: Record<TimelineLayout, Partial<TimelineOptions>>;
/**
 * Merge opções customizadas com padrão
 */
export declare function mergeTimelineOptions(custom?: Partial<TimelineOptions>): TimelineOptions;
/**
 * Converte itens para formato vis-timeline
 */
export declare function normalizeTimelineItems<T extends Record<string, any>>(items: T[]): Array<T & {
    start: Date;
    end?: Date;
    content: string;
    type?: string;
}>;
/**
 * Converte grupos para formato vis-timeline
 */
export declare function normalizeTimelineGroups<T extends Record<string, any>>(groups: T[]): Array<T & {
    content: string;
}>;
/**
 * Normaliza data para objeto Date
 */
export declare function normalizeDate(date: Date | string | number): Date;
/**
 * Converte range para array de datas
 */
export declare function normalizeRange(range?: [Date | string | number, Date | string | number]): [Date, Date] | undefined;
/**
 * Gera opções de cores para timeline
 */
export declare function generateColorOptions(itemColor?: string, groupColor?: string, backgroundColor?: string): Partial<TimelineOptions>;
/**
 * Mapeia tipos de itens para tipos vis-timeline
 */
export declare const ITEM_TYPE_MAP: {
    readonly box: "box";
    readonly point: "point";
    readonly range: "range";
    readonly background: "background";
};
/**
 * Calcula margem apropriada baseado no tipo de item
 */
export declare function calculateItemMargin(type?: string): {
    horizontal: number;
    vertical: number;
};
/**
 * Formata data para exibição
 */
export declare function formatTimelineDate(date: Date, format?: 'short' | 'long'): string;
/**
 * Calcula duração entre duas datas em formato legível
 */
export declare function formatDuration(start: Date, end: Date): string;
