export default _sfc_main;
declare namespace _sfc_main {
    const name: string;
    namespace props {
        namespace factor {
            const type: ObjectConstructor;
        }
        namespace viewport {
            export { Viewport as type };
        }
        namespace bottom {
            const type_1: StringConstructor;
            export { type_1 as type };
            const _default: string;
            export { _default as default };
        }
        namespace toggleVersion {
            const type_2: NumberConstructor;
            export { type_2 as type };
        }
    }
    function data(): {
        program: undefined;
        context: undefined;
        texture: undefined;
        rampColor: undefined;
        aPositionBuffer: undefined;
        webgl: WebGL;
        etime: undefined;
        wrapper: undefined;
        animation: undefined;
        particleContext: undefined;
        particleTexture: undefined;
        particleOptions: {
            fadeOpacity: number;
            speedFactor: number;
            dropRate: number;
            dropRateBump: number;
            uvRange: number[];
            sRange: number[];
            scale: number;
        };
        paused: boolean;
        initial: boolean;
        right: number;
    };
    const watch: {
        'factor.version': {
            handler(): void;
            deep: boolean;
        };
        toggleVersion: {
            handler(): void;
            immediate: boolean;
        };
    };
    namespace methods {
        function handleRender(): void;
        function handleClear(): void;
        function handleSetup(): void;
        function handleParticleSetup(): void;
        function handleDraw(): Promise<void>;
        function handleResize(): void;
        function handlePause(): void;
        function handlePlay(): void;
    }
}
import { Viewport } from '../../helper.ts';
import { WebGL } from '../../helper.ts';
