import { SegmentAnimations } from './animation'; import { Timerange } from './time_util'; import { KeyframeList, KeyframeProperty } from './keyframe'; type Optional = T | null; type Dict = { [key: string]: T; }; type AnyDict = Dict; type Union = T | U; declare class Base_segment { segment_id: string; material_id: string; target_timerange: Timerange | any; common_keyframes: KeyframeList[]; constructor(material_id?: string, target_timerange?: Timerange); get start(): number; set start(value: number); get duration(): number; set duration(value: number); get end(): number; overlaps(other: Base_segment): boolean; export_json(): AnyDict; } declare class Speed { global_id: string; speed: number; constructor(speed: number); export_json(): AnyDict; } declare class Clip_settings { alpha: number; flip_horizontal: boolean; flip_vertical: boolean; rotation: number; scale_x: number; scale_y: number; transform_x: number; transform_y: number; constructor({ alpha, flip_horizontal, flip_vertical, rotation, scale_x, scale_y, transform_x, transform_y }: { alpha?: number; flip_horizontal?: boolean; flip_vertical?: boolean; rotation?: number; scale_x?: number; scale_y?: number; transform_x?: number; transform_y?: number; }); export_json(): AnyDict; } declare class Media_segment extends Base_segment { source_timerange: Optional; speed: Speed; volume: number; extra_material_refs: string[]; constructor(material_id: string, source_timerange: Optional, target_timerange: Timerange, speed: number, volume: number); export_json(): AnyDict; } declare class Visual_segment extends Media_segment { clip_settings: Clip_settings; uniform_scale: boolean; animations_instance: Optional; constructor(material_id: string, source_timerange: Optional, target_timerange: Timerange, speed: number, volume: number, { clip_settings }?: { clip_settings?: Clip_settings; }); add_keyframe(_property: KeyframeProperty, time_offset: Union, value: number): Visual_segment; export_json(): AnyDict; } export { Base_segment, Speed, Clip_settings, Media_segment, Visual_segment };