import { TemplateResult as TemplateResult$1 } from "../node_modules/lit-html/development/lit-html.js"; import { FrameRenderable, FrameState } from "../preview/FrameController.js"; import { TemporalMixinInterface } from "./EFTemporal.js"; import { EFAudio } from "./EFAudio.js"; import { EFVideo } from "./EFVideo.js"; import { TargetController } from "./TargetController.js"; import * as _$lit from "lit"; import { LitElement, PropertyValueMap } from "lit"; import { Ref } from "lit/directives/ref.js"; //#region src/elements/EFWaveform.d.ts declare const EFWaveform_base: (new (...args: any[]) => TemporalMixinInterface) & typeof LitElement; declare class EFWaveform extends EFWaveform_base implements FrameRenderable { #private; static styles: _$lit.CSSResult; canvasRef: Ref; private ctx; private styleObserver; private resizeObserver?; private mutationObserver?; /** * Get the current render version. * Version increments when mode, color, barSpacing, lineWidth, or target changes. * @public */ get renderVersion(): number; render(): TemplateResult$1<1>; mode: "roundBars" | "bars" | "bricks" | "line" | "curve" | "pixel" | "wave" | "spikes"; color: string; target: string; barSpacing: number; targetElement: EFAudio | EFVideo | null; lineWidth: number; targetController: TargetController; connectedCallback(): void; disconnectedCallback(): void; private resizeCanvas; protected initCanvas(): CanvasRenderingContext2D | null; protected drawBars(ctx: CanvasRenderingContext2D, frequencyData: Uint8Array): void; protected drawBricks(ctx: CanvasRenderingContext2D, frequencyData: Uint8Array): void; protected drawRoundBars(ctx: CanvasRenderingContext2D, frequencyData: Uint8Array): void; protected drawLine(ctx: CanvasRenderingContext2D, frequencyData: Uint8Array): void; protected drawCurve(ctx: CanvasRenderingContext2D, frequencyData: Uint8Array): void; protected drawPixel(ctx: CanvasRenderingContext2D, frequencyData: Uint8Array): void; protected drawWave(ctx: CanvasRenderingContext2D, frequencyData: Uint8Array): void; protected drawSpikes(ctx: CanvasRenderingContext2D, frequencyData: Uint8Array): void; /** * Query readiness state for a given time. * @implements FrameRenderable */ getFrameState(timeMs: number): FrameState; /** * Async preparation - fetches frequency data from target and initializes canvas. * @implements FrameRenderable */ prepareFrame(timeMs: number, signal: AbortSignal): Promise; /** * Synchronous render - draws waveform to canvas. * @implements FrameRenderable */ renderFrame(_timeMs: number): void; get durationMs(): number; protected updated(changedProperties: PropertyValueMap): void; } declare global { interface HTMLElementTagNameMap { "ef-waveform": EFWaveform & Element; } } //#endregion export { EFWaveform }; //# sourceMappingURL=EFWaveform.d.ts.map