import { SmzMenuItem } from '../../modules/smz-menu/models/smz-menu-item';
import { Observable } from 'rxjs';
import { SmzTimelineMarkerBuilder, SmzTimelineViewBuilder } from './template-builder';
import { SmzTimelineState } from '../../modules/smz-timeline/models/smz-timeline-state';
import { SmzCardsTemplateBuilder } from '../smz-cards/template-builder';
import { SmzTimelineSourcesBuilder } from './source-builder';
import { SmzTimelineMenuBuilder } from './menu-builder';
export declare class SmzTimelineBuilder<T> {
    _state: SmzTimelineState<T>;
    constructor(uiDefinitionName?: string);
    setSource(items$: Observable<T[]>): SmzTimelineBuilder<T>;
    sources(): SmzTimelineSourcesBuilder<T>;
    setTitle(title: string): SmzTimelineBuilder<T>;
    template(): SmzCardsTemplateBuilder<T, SmzTimelineBuilder<T>>;
    view(): SmzTimelineViewBuilder;
    marker(): SmzTimelineMarkerBuilder;
    setDynamicTitle(callback: () => string): SmzTimelineBuilder<T>;
    setLocale(language: 'pt-BR' | 'en-US'): SmzTimelineBuilder<T>;
    setEmptyMessage(message: string): SmzTimelineBuilder<T>;
    buttons(items?: SmzMenuItem[]): SmzTimelineMenuBuilder;
    menu(items?: SmzMenuItem[]): SmzTimelineMenuBuilder;
    debugMode(): SmzTimelineBuilder<T>;
    build(): SmzTimelineState<T>;
}
