export interface GlEffect {
    label: string;
    fragment: string;
    uniforms?: Record<string, {
        value: any;
        type: string;
    }>;
    previewStatic?: string;
    previewDynamic?: string;
}
/**
 * Register a custom effect at runtime
 */
export declare function registerCustomEffect(name: string, effect: GlEffect): void;
/**
 * Unregister a custom effect at runtime
 */
export declare function unregisterCustomEffect(name: string): void;
/**
 * Get all available effects, including library and runtime registered ones
 */
export declare function getAllEffects(): Record<string, GlEffect>;
export declare const GL_EFFECTS: Record<string, GlEffect>;
export type EffectKey = string;
export declare function getEffectOptions(): {
    key: EffectKey;
    label: string;
    isCustom: boolean;
    previewStatic: string;
    previewDynamic: string;
}[];
export declare const GL_EFFECT_OPTIONS: {
    key: EffectKey;
    label: string;
    isCustom: boolean;
    previewStatic: string;
    previewDynamic: string;
}[];
