import { CustomElement } from '../../Abstracts/CustomElement';
import { IEpgElementProps } from './IEpgElementProps';
import { EpgChannelElement } from './EpgChannelElement';
import { EpgProgramElement } from './EpgProgramElement';
import { IItemsAware } from '../../Interfaces/IItemsAware';
declare const EpgElement_base: import("../../../../Index").ControlBehaviorReturn<import("../../../../Index").ControlBehaviorReturn<import("../../../../Index").ControlBehaviorReturn<import("../../../../Index").ControlBehaviorReturn<import("../../../../Index").ControlBehaviorReturn<import("../../../../Index").ControlBehaviorReturn<typeof CustomElement, import("../../../Behaviors/Disableable").IDisableableProps>, import("../../../Behaviors/Variantable").IVariantableProps>, import("../../../Behaviors/Appearanceable").IAppearanceableProps>, import("../../../Behaviors/Localeable").ILocaleableProps>, import("../../../Behaviors/Boundable").IBoundableProps>, import("../../../Behaviors/Filterable").IFilterableProps>;
/**
 * The `{@link EpgElement}` element.
 *
 * @public
 */
export declare class EpgElement extends EpgElement_base implements IEpgElementProps, IItemsAware<EpgChannelElement | EpgProgramElement> {
    private static readonly ZOOM_FACTORS;
    private _timelineElement;
    private _timer;
    private _zoom;
    private _visibleStart;
    private _visibleEnd;
    private _isNow;
    private _showNowLine;
    private _showMinimap;
    private _timelineFormat;
    /**
     * @public
     */
    constructor();
    _dragStartX: number;
    _scrollStartX: number;
    /**
     * Returns the `{@link is}` property.
     * The `{@link is}` property represents natural name of this element.
     *
     * @public
     * @static
     * @readonly
     */
    static get is(): string;
    /**
     * Gets or sets the `zoom` property.
     *
     * @public
     * @attr
     */
    get zoom(): number;
    set zoom(value: number);
    /**
     * Gets or sets the `visibleStart` property.
     *
     * @public
     * @readonly
     */
    get visibleStart(): number;
    private set visibleStart(value);
    /**
     * Gets or sets the `visibleEnd` property.
     *
     * @public
     * @readonly
     *
     */
    get visibleEnd(): number;
    private set visibleEnd(value);
    /**
     * Gets or sets the `isNow` property.
     *
     * @public
     * @readonly
     */
    get isNow(): boolean;
    private set isNow(value);
    /**
     * Gets or sets the `showNowLine` property.
     *
     * @public
     * @attr
     */
    get showNowLine(): boolean;
    set showNowLine(value: boolean);
    /**
     * Gets or sets the `showMinimap` property.
     *
     * @public
     * @attr
     */
    get showMinimap(): boolean;
    set showMinimap(value: boolean);
    /**
     * Gets or sets the `timelineFormat` property.
     *
     * @public
     * @attr
     */
    get timelineFormat(): string;
    set timelineFormat(value: string);
    /**
     * Gets or sets the `totalWidth` property.
     *
     * @public
     * @readonly
     */
    get totalWidth(): number;
    /**
     * Returns the `items` property.
     *
     * @public
     * @readonly
     */
    get items(): Array<EpgChannelElement | EpgProgramElement>;
    /**
     * @public
     * @override
     */
    connectedCallback(): void;
    /**
     * @public
     * @override
     */
    disconnectedCallback(): void;
    /**
     * @public
     */
    zoomIn(): void;
    /**
     * @public
     */
    zoomOut(): void;
    /**
     * @public
     */
    nextDate(): void;
    /**
     * @public
     */
    previousDate(): void;
    updateNowButtonVisibility(): void;
    scrollToNow(smooth?: boolean): void;
    onMinimapJump(e: CustomEvent<number>): void;
    dragStart(e: MouseEvent): void;
    touchStart(e: TouchEvent): void;
    /**
     * @protected
     * @override
     */
    protected onApplyTemplate(): void;
    /**
     * @protected
     */
    protected onFilterPropertyChanged(_?: string, next?: string): void;
}
/**
 * @public
 */
export declare namespace EpgElement {
    type Props = IEpgElementProps;
}
/**
 * @public
 */
declare global {
    interface HTMLElementTagNameMap {
        'mosaik-epg': EpgElement;
    }
}
export {};
//# sourceMappingURL=EpgElement.d.ts.map