export default WebGlShader;
/**
 * The commonly used parameter values that the component can pass to the shader.
 *
 * - **resolution**: A `vec2` of the canvas width and height in physical device pixels.
 *
 * - **offset**: A `vec2` to be added to the `gl_FragCoord.xy` of the fragment shader,
 *               to compensate for cases where the size of the canvas is capped by hardware limitations.
 *
 * - **scale**: A `float` of the current scale factor, i.e. zoom level.
 *
 * - **time**: A `float` of the current time in seconds.
 *             NOTE: When the `"time"` parameter is passed to the shader, it will rerender every frame.
 *             If the user agent has reduced motion enabled, the time parameter will always be equal to 0.0.
 */
export type BuiltinValue = "resolution" | "offset" | "scale" | "time";
export type BuiltinParameter = {
    name: string;
    value: BuiltinValue;
};
export type NonBuiltinParameter = {
    name: string;
} & ({
    type: "float" | "int" | "uint";
    value: number;
} | {
    type: "vec2" | "ivec2" | "uvec2";
    value: readonly [number, number];
} | {
    type: "vec3" | "ivec3" | "uvec3";
    value: readonly [number, number, number];
} | {
    type: "vec4" | "ivec4" | "uvec4";
    value: readonly [number, number, number, number];
} | {
    type: "vec4" | "ivec4" | "uvec4";
    value: readonly [number, number, number, number];
} | {
    type: "mat2";
    value: readonly [number, number, number, number];
} | {
    type: "mat3";
    value: readonly [number, number, number, number, number, number, number, number, number];
} | {
    type: "mat4";
    value: readonly [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number];
});
export type Parameter = BuiltinParameter | NonBuiltinParameter;
type WebGlShader = SvelteComponent<$$__sveltets_2_PropsWithChildren<{
    code: string | Promise<string>;
    width?: string | undefined;
    height?: string | undefined;
    forceAnimation?: boolean | undefined;
    parameters?: readonly Parameter[] | undefined;
}, {
    default: {};
}>, {
    [evt: string]: CustomEvent<any>;
}, {
    default: {};
}> & {
    $$bindings?: string | undefined;
};
declare const WebGlShader: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWithChildren<{
    code: string | Promise<string>;
    width?: string | undefined;
    height?: string | undefined;
    forceAnimation?: boolean | undefined;
    parameters?: readonly Parameter[] | undefined;
}, {
    default: {};
}>, {
    [evt: string]: CustomEvent<any>;
}, {
    default: {};
}, {}, string>;
type $$__sveltets_2_PropsWithChildren<Props, Slots> = Props & (Slots extends {
    default: any;
} ? Props extends Record<string, never> ? any : {
    children?: any;
} : {});
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
    new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
        $$bindings?: Bindings;
    } & Exports;
    (internal: unknown, props: Props & {
        $$events?: Events;
        $$slots?: Slots;
    }): Exports & {
        $set?: any;
        $on?: any;
    };
    z_$$bindings?: Bindings;
}
