export declare class RayMarching extends HTMLElement {
    $canvas: HTMLCanvasElement;
    gl: WebGLRenderingContext;
    program: WebGLProgram;
    attribLocation: number;
    uniformLocation: {
        resolution: WebGLUniformLocation;
        mouse: WebGLUniformLocation;
        time: WebGLUniformLocation;
    };
    requestID: number;
    beginAt: number;
    resizeObserver: ResizeObserver;
    intersectionObserver: IntersectionObserver;
    isIntersecting: boolean;
    static get observedAttributes(): string[];
    get time(): number;
    constructor();
    attributeChangedCallback(name: any, oldValue: any, newValue: any): void;
    connectedCallback(): void;
    disconnectedCallback(): void;
    handleResize(entries: any): void;
    handleIntersection(entries: any): void;
    handleMousemove(e: any): void;
    setupShader(): void;
    template(): string;
    createShader(type: any, source: any): WebGLShader | string;
    createProgramObject(vs: any, fs: any): WebGLProgram | string;
    once(time: number): void;
    render(): void;
}
