import { Uniform } from 'three'; export declare const DEFAULT_VERTEX_SHADER = "\nvarying vec2 vUv;\nvarying float vObjectId;\nvarying vec4 v_color;\n\nvoid main() {\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n"; export declare const DEFAULT_3_VERTEX_SHADER = "#version 300 es\n#define attribute in\n#define varying out\n#define texture2D texture\nprecision highp float;\nprecision highp int;\ninvariant gl_Position;\n\nuniform mat4 modelMatrix;\nuniform mat4 modelViewMatrix;\nuniform mat4 projectionMatrix;\nuniform mat4 viewMatrix;\nuniform mat3 normalMatrix;\nuniform vec3 cameraPosition;\nuniform bool isOrthographic;\n\nattribute vec3 position;\nattribute vec3 normal;\nattribute vec2 uv;\n\n\nvarying vec2 vUv;\nvarying float vObjectId;\nvarying vec4 v_color;\n\nvoid main() {\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}"; export declare const DEFAULT_FRAGMENT_SHADER = "\nprecision mediump float;\nvarying vec2 vUv;\nvarying float vObjectId;\nvarying vec4 v_color;\nvoid main() {\n gl_FragColor = v_color;\n}\n"; export declare const SAMPLE_WIDTH = 1280; export declare const SAMPLE_HEIGHT = 720; export declare type UniformType = '1i' | '1f' | '2f' | '3f' | '1iv' | '3iv' | '1fv' | '2fv' | '3fv' | '4fv' | 'Matrix3fv' | 'Matric4fv' | 'i' | 'f' | 'v2' | 'v3' | 'v4' | 'c' | 'm4' | 't' | 'iv1' | 'iv' | 'fv1' | 'fv' | 'v2v' | 'v3v' | 'v4v' | 'm4v' | 'tv'; export interface IVedaOptions { pixelRatio?: number; frameskip?: number; vertexMode?: string; vertexCount?: number; fftSize?: number; fftSmoothingTimeConstant?: number; } export declare const DEFAULT_VEDA_OPTIONS: { frameskip: number; pixelRatio: number; vertexCount: number; vertexMode: string; }; export interface IPassModel { PATH: string; MATERIAL?: string; } export interface IPass { MODEL?: IPassModel; TARGET?: string; vs?: string; fs?: string; FLOAT?: boolean; WIDTH?: string; HEIGHT?: string; BLEND?: BlendMode; GLSL3?: boolean; } export declare type BlendMode = 'NO' | 'NORMAL' | 'ADD' | 'SUB' | 'MUL'; export declare type IShader = IPass | IPass[]; export interface IUniforms { [key: string]: { type: string; value: Uniform['value']; }; }