import { TemporalMixinInterface } from "./EFTemporal.js";
import * as lit5 from "lit";
import { LitElement } from "lit";
import * as lit_html5 from "lit-html";

//#region src/elements/EFTextSegment.d.ts
declare const EFTextSegment_base: (new (...args: any[]) => TemporalMixinInterface) & typeof LitElement;
declare class EFTextSegment extends EFTextSegment_base {
  static styles: lit5.CSSResult[];
  /**
   * Registers animation styles that should be shared across all text segments.
   * This is the correct way to inject animation styles for segments - not via innerHTML.
   *
   * @param id Unique identifier for this stylesheet (e.g., "my-animations")
   * @param cssText The CSS rules to inject
   *
   * @example
   * EFTextSegment.registerAnimations("bounceIn", `
   *   @keyframes bounceIn {
   *     from { transform: scale(0); }
   *     to { transform: scale(1); }
   *   }
   *   .bounce-in {
   *     animation: bounceIn 0.5s ease-out;
   *   }
   * `);
   */
  static registerAnimations(id: string, cssText: string): void;
  /**
   * Unregisters previously registered animation styles.
   *
   * @param id The identifier of the stylesheet to remove
   */
  static unregisterAnimations(id: string): void;
  render(): lit_html5.TemplateResult<1>;
  private setCSSVariables;
  protected firstUpdated(): void;
  protected updated(): void;
  segmentText: string;
  segmentIndex: number;
  staggerOffsetMs?: number;
  segmentStartMs: number;
  segmentEndMs: number;
  hidden: boolean;
  get startTimeMs(): number;
  get endTimeMs(): number;
  get durationMs(): number;
}
declare global {
  interface HTMLElementTagNameMap {
    "ef-text-segment": EFTextSegment;
  }
}
//#endregion
export { EFTextSegment };
//# sourceMappingURL=EFTextSegment.d.ts.map