import { Observable } from 'rxjs'; import { ReactiveCamera } from '@bespunky/angular-cdk/navigables/camera/reactive'; export declare abstract class TimelineCamera extends ReactiveCamera { abstract readonly dayWidth: Observable; abstract readonly currentDayWidth: number; protected panToItem(date: Date): void; protected zoomOnItem(date: Date, amount: number): void; /** * Determines the date that a position on the timeline (in pixels) refers to. * * @param {number} position The position for which to calculate the date. * @returns {Date} The date corresponding to the position. */ positionToDate(position: number): Date; /** * Determines the position on the timeline (in pixels) that corresponds to a specific date. * * @param {number} y The year part of the date. * @param {number} [m] (Optional) The month part of the date. Default is 0 (January). * @param {number} [d] (Optional) The day part of the date. Default is 1. * @param {number} [h] (Optional) The hourpart of the date. Default is 0. * @param {number} [mm] (Optional) The minute part of the date. Default is 0. * @param {number} [s] (Optional) The second part of the date. Default is 0. * @param {number} [ms] (Optional) The millisecond part of the date. Default is 0. * @returns The position (in pixels) corresponding to the specified date. */ dateToPosition(y: number, m?: number, d?: number, h?: number, mm?: number, s?: number, ms?: number): number; /** * Determines the position on the timeline (in pixels) that corresponds to a specific date. * * @param {Date} date The date to convert to position. * @returns The position (in pixels) corresponding to the specified date. */ dateToPosition(date: Date): number; toScreenPosition(position: number, viewStart: number): number; }