import { FrameRenderable, FrameState } from "../preview/FrameController.js";
import { ContextMixinInterface } from "../gui/ContextMixin.js";
import * as lit27 from "lit";
import { LitElement } from "lit";
import * as lit_html25 from "lit-html";
import * as lit_html_directives_ref3 from "lit-html/directives/ref";

//#region src/elements/EFSurface.d.ts
declare class EFSurface extends LitElement implements FrameRenderable {
  #private;
  static styles: lit27.CSSResult[];
  canvasRef: lit_html_directives_ref3.Ref<HTMLCanvasElement>;
  targetElement: ContextMixinInterface | null;
  target: string;
  render(): lit_html25.TemplateResult<1>;
  get rootTimegroup(): any;
  get currentTimeMs(): number;
  get durationMs(): number;
  get startTimeMs(): number;
  get endTimeMs(): number;
  /**
   * Query readiness state for a given time.
   * @implements FrameRenderable
   */
  getFrameState(_timeMs: number): FrameState;
  /**
   * Async preparation - no preparation needed.
   * FrameController's priority system ensures dependencies render first.
   * @implements FrameRenderable
   */
  prepareFrame(_timeMs: number, _signal: AbortSignal): Promise<void>;
  /**
   * Synchronous render - copies canvas from target element.
   * @implements FrameRenderable
   */
  renderFrame(_timeMs: number): void;
  protected updated(): void;
  private getSourceCanvas;
  private copyFromTarget;
}
declare global {
  interface HTMLElementTagNameMap {
    "ef-surface": EFSurface;
  }
}
//#endregion
export { EFSurface };
//# sourceMappingURL=EFSurface.d.ts.map