import { TemplateResult as TemplateResult$1 } from "../node_modules/lit-html/development/lit-html.js"; import { TimelineState } from "./timeline/timelineStateContext.js"; import * as _$lit from "lit"; import { LitElement } from "lit"; //#region src/gui/EFTimelineRuler.d.ts /** * Quantize a time value to the nearest frame boundary. * This ensures frame markers align perfectly with playhead position. */ declare function quantizeToFrameTimeMs(timeMs: number, fps: number): number; /** * Calculate the duration of a single frame in milliseconds. */ declare function calculateFrameIntervalMs(fps: number): number; /** * Calculate pixels per frame given frame interval and zoom scale. * @param frameIntervalMs Duration of one frame in ms * @param pixelsPerMs Current zoom level (pixels per millisecond) */ declare function calculatePixelsPerFrame(frameIntervalMs: number, pixelsPerMs: number): number; /** * Determine if frame markers should be visible at the current zoom level. * Frame markers appear when each frame is at least MIN_FRAME_SPACING_PX wide. */ declare function shouldShowFrameMarkers(pixelsPerFrame: number, minSpacing?: number): boolean; declare class EFTimelineRuler extends LitElement { static styles: _$lit.CSSResult[]; durationMs: number; contextDurationMs: number; timelineState?: TimelineState; fps: number; /** Full content width in pixels (for virtualization) */ contentWidth: number; private containerRef; private canvasRef; private resizeObserver?; private viewportWidth; /** Canvas viewport left position for virtualization */ private _canvasViewportLeft; /** Canvas viewport width for virtualization */ private _canvasViewportWidth; /** Last rendered scroll position - for detecting scroll changes */ private _lastRenderedScrollLeft; /** Last rendered viewport width - for detecting viewport changes */ private _lastRenderedViewportWidth; get effectiveDurationMs(): number; get pixelsPerMs(): number; get scrollLeft(): number; /** * Calculate canvas viewport bounds for virtualization. * Returns the left position and width of the canvas viewport. */ private calculateCanvasViewport; connectedCallback(): void; disconnectedCallback(): void; protected firstUpdated(): void; protected updated(changedProperties: Map): void; private calculateLabelInterval; private getVisibleLabels; private renderCanvas; render(): TemplateResult$1<1>; } declare global { interface HTMLElementTagNameMap { "ef-timeline-ruler": EFTimelineRuler; } } //#endregion export { EFTimelineRuler, calculateFrameIntervalMs, calculatePixelsPerFrame, quantizeToFrameTimeMs, shouldShowFrameMarkers }; //# sourceMappingURL=EFTimelineRuler.d.ts.map