unified-video-framework
Version:
Cross-platform video player framework supporting iOS, Android, Web, Smart TVs (Samsung/LG), Roku, and more
21 lines • 2.05 kB
TypeScript
import type { EPGProgram, EPGTimeSlot, ProgramBlock, EPGProgramRow } from '../types/EPGTypes';
export declare const parseTime: (isoString: string) => number;
export declare const formatTime: (timestamp: number, format?: "12h" | "24h") => string;
export declare const formatDateTime: (timestamp: number) => string;
export declare const getProgramDuration: (program: EPGProgram) => number;
export declare const generateTimeSlots: (startTime: number, visibleHours: number, slotDuration?: number) => EPGTimeSlot[];
export declare const calculateProgramBlock: (program: EPGProgram, channel: EPGProgramRow, timelineStart: number, timelineEnd: number, containerWidth: number, channelHeight?: number, maxProgramWidth?: number, programGap?: number) => ProgramBlock | null;
export declare const isProgramLive: (program: EPGProgram, currentTime?: number) => boolean;
export declare const getProgramProgress: (program: EPGProgram, currentTime?: number) => number;
export declare const findProgramAtTime: (channel: EPGProgramRow, timestamp: number) => EPGProgram | null;
export declare const getCurrentTimePosition: (currentTime: number, timelineStart: number, timelineEnd: number, containerWidth: number) => number;
export declare const snapToTimeSlot: (timestamp: number, slotDuration?: number) => number;
export declare const calculateOptimalTimeRange: (currentTime?: number, visibleHours?: number) => {
start: number;
end: number;
};
export declare const getProgramsInRange: (channels: EPGProgramRow[], startTime: number, endTime: number, paddingHours?: number) => EPGProgramRow[];
export declare const calculateScrollPosition: (targetTime: number, timelineStart: number, timelineEnd: number, containerWidth: number, visibleWidth: number) => number;
export declare const debounce: <T extends (...args: any[]) => any>(func: T, wait: number) => ((...args: Parameters<T>) => void);
export declare const throttle: <T extends (...args: any[]) => any>(func: T, limit: number) => ((...args: Parameters<T>) => void);
//# sourceMappingURL=EPGUtils.d.ts.map