import { TimelineEditingContext } from "./timelineEditingContext.js";
import * as lit35 from "lit";
import { LitElement } from "lit";
import * as lit_html32 from "lit-html";

//#region src/gui/timeline/TrimHandles.d.ts
interface TrimValue {
  startMs: number;
  endMs: number;
}
interface TrimChangeDetail {
  elementId: string;
  type: "start" | "end" | "region";
  value: TrimValue;
}
declare const EFTrimHandles_base: typeof LitElement;
declare class EFTrimHandles extends EFTrimHandles_base {
  #private;
  static styles: lit35.CSSResult[];
  mode: "standalone" | "track";
  elementId: string;
  pixelsPerMs: number | null;
  value: TrimValue;
  intrinsicDurationMs: number;
  get trimStartMs(): number;
  set trimStartMs(v: number);
  get trimEndMs(): number;
  set trimEndMs(v: number);
  showOverlays: boolean;
  seekTarget: string;
  editingContext?: TimelineEditingContext;
  private draggingHandle;
  private dragStartX;
  private dragStartValue;
  connectedCallback(): void;
  disconnectedCallback(): void;
  private handlePointerDown;
  private handleRegionPointerDown;
  private handlePointerMove;
  private handlePointerUp;
  render(): lit_html32.TemplateResult<1>;
}
declare global {
  interface HTMLElementTagNameMap {
    "ef-trim-handles": EFTrimHandles;
  }
}
//#endregion
export { EFTrimHandles, TrimChangeDetail, TrimValue };
//# sourceMappingURL=TrimHandles.d.ts.map