/** @packageDocumentation * @module Timeline */ import { Cartographic, ColorDef } from "@itwin/core-common"; import type { IModelConnection, ScreenViewport } from "@itwin/core-frontend"; import type { SolarDataProvider } from "./interfaces.js"; /** Base class that provides solar data for animation control * @alpha */ export declare class BaseSolarDataProvider implements SolarDataProvider { protected _projectTimeZoneOffset: number; protected _viewport: ScreenViewport | undefined; protected _cartographicCenter: Cartographic; protected _shadowColor: ColorDef; longitude: number; latitude: number; viewId: string; supportsTimelineAnimation: boolean; animationFraction: number; private _projectDayStartMS; private _projectSunriseMs; private _projectSunsetMs; private _zoneOffsetMs; private _projectSunrise; private _projectSunset; private _projectDateTime; private _projectDay; protected initializeData(projectTimeZoneOffset: number, initialTime?: Date): void; constructor(viewport?: ScreenViewport, longitude?: number, latitude?: number); get timeZoneOffset(): number; get shadowColor(): ColorDef; set shadowColor(color: ColorDef); get shouldShowTimeline(): boolean; /** Get time at project location */ get timeOfDay(): Date; /** The date can be in project time or if isProjectDate is false, it is assumed to be users current local time * which will be adjusted to the same time at project location. */ setDateAndTime(date: Date, isProjectDate?: boolean): void; /** Project Day Start */ get day(): Date; /** Project Day Start in milliseconds */ get dayStartMs(): number; getCartographicCenter(iModel: IModelConnection): Cartographic; set viewport(viewport: ScreenViewport | undefined); get viewport(): ScreenViewport | undefined; protected getZone(location: Cartographic): number; get sunrise(): Date; get sunriseMs(): number; get sunset(): Date; get sunsetMs(): number; onTimeChanged: (_time: Date) => void; } //# sourceMappingURL=BaseSolarDataProvider.d.ts.map