import { type PropType } from "vue";
import type { CRTOptions } from "../core/options";
type Level = "low" | "medium" | "high" | number;
/**
 * Every prop defaults to `undefined` (never `false`/`0`) so that options the
 * user doesn't set fall through to the preset and built-in defaults. Vue would
 * otherwise coerce absent Boolean props to `false` and override the preset.
 */
declare const CRTEffect: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    preset: {
        type: PropType<CRTOptions["preset"]>;
        default: undefined;
    };
    enabled: {
        type: BooleanConstructor;
        default: undefined;
    };
    fill: {
        type: BooleanConstructor;
        default: undefined;
    };
    theme: {
        type: PropType<CRTOptions["theme"]>;
        default: undefined;
    };
    sweepDuration: {
        type: NumberConstructor;
        default: undefined;
    };
    sweepThickness: {
        type: NumberConstructor;
        default: undefined;
    };
    sweepStyle: {
        type: PropType<CRTOptions["sweepStyle"]>;
        default: undefined;
    };
    scanlineOpacity: {
        type: NumberConstructor;
        default: undefined;
    };
    scanlineColor: {
        type: StringConstructor;
        default: undefined;
    };
    scanlineThickness: {
        type: NumberConstructor;
        default: undefined;
    };
    scanlineGap: {
        type: NumberConstructor;
        default: undefined;
    };
    scanlineOrientation: {
        type: PropType<CRTOptions["scanlineOrientation"]>;
        default: undefined;
    };
    enableScanlines: {
        type: BooleanConstructor;
        default: undefined;
    };
    enableSweep: {
        type: BooleanConstructor;
        default: undefined;
    };
    enableGlow: {
        type: BooleanConstructor;
        default: undefined;
    };
    glowColor: {
        type: StringConstructor;
        default: undefined;
    };
    enableEdgeGlow: {
        type: BooleanConstructor;
        default: undefined;
    };
    edgeGlowColor: {
        type: StringConstructor;
        default: undefined;
    };
    edgeGlowSize: {
        type: NumberConstructor;
        default: undefined;
    };
    enableFlicker: {
        type: BooleanConstructor;
        default: undefined;
    };
    flickerIntensity: {
        type: PropType<Level>;
        default: undefined;
    };
    flickerSpeed: {
        type: PropType<Level>;
        default: undefined;
    };
    enableGlitch: {
        type: BooleanConstructor;
        default: undefined;
    };
    glitchIntensity: {
        type: PropType<Level>;
        default: undefined;
    };
    glitchSpeed: {
        type: PropType<Level>;
        default: undefined;
    };
    glitchChromatic: {
        type: BooleanConstructor;
        default: undefined;
    };
    enableVignette: {
        type: BooleanConstructor;
        default: undefined;
    };
    vignetteIntensity: {
        type: NumberConstructor;
        default: undefined;
    };
    enableCurvature: {
        type: BooleanConstructor;
        default: undefined;
    };
    curvatureIntensity: {
        type: NumberConstructor;
        default: undefined;
    };
    enableGlare: {
        type: BooleanConstructor;
        default: undefined;
    };
    glareIntensity: {
        type: NumberConstructor;
        default: undefined;
    };
    enableNoise: {
        type: BooleanConstructor;
        default: undefined;
    };
    noiseOpacity: {
        type: NumberConstructor;
        default: undefined;
    };
    tintText: {
        type: BooleanConstructor;
        default: undefined;
    };
    textColor: {
        type: StringConstructor;
        default: undefined;
    };
    sweepColor: {
        type: StringConstructor;
        default: undefined;
    };
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}>[] | undefined, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    preset: {
        type: PropType<CRTOptions["preset"]>;
        default: undefined;
    };
    enabled: {
        type: BooleanConstructor;
        default: undefined;
    };
    fill: {
        type: BooleanConstructor;
        default: undefined;
    };
    theme: {
        type: PropType<CRTOptions["theme"]>;
        default: undefined;
    };
    sweepDuration: {
        type: NumberConstructor;
        default: undefined;
    };
    sweepThickness: {
        type: NumberConstructor;
        default: undefined;
    };
    sweepStyle: {
        type: PropType<CRTOptions["sweepStyle"]>;
        default: undefined;
    };
    scanlineOpacity: {
        type: NumberConstructor;
        default: undefined;
    };
    scanlineColor: {
        type: StringConstructor;
        default: undefined;
    };
    scanlineThickness: {
        type: NumberConstructor;
        default: undefined;
    };
    scanlineGap: {
        type: NumberConstructor;
        default: undefined;
    };
    scanlineOrientation: {
        type: PropType<CRTOptions["scanlineOrientation"]>;
        default: undefined;
    };
    enableScanlines: {
        type: BooleanConstructor;
        default: undefined;
    };
    enableSweep: {
        type: BooleanConstructor;
        default: undefined;
    };
    enableGlow: {
        type: BooleanConstructor;
        default: undefined;
    };
    glowColor: {
        type: StringConstructor;
        default: undefined;
    };
    enableEdgeGlow: {
        type: BooleanConstructor;
        default: undefined;
    };
    edgeGlowColor: {
        type: StringConstructor;
        default: undefined;
    };
    edgeGlowSize: {
        type: NumberConstructor;
        default: undefined;
    };
    enableFlicker: {
        type: BooleanConstructor;
        default: undefined;
    };
    flickerIntensity: {
        type: PropType<Level>;
        default: undefined;
    };
    flickerSpeed: {
        type: PropType<Level>;
        default: undefined;
    };
    enableGlitch: {
        type: BooleanConstructor;
        default: undefined;
    };
    glitchIntensity: {
        type: PropType<Level>;
        default: undefined;
    };
    glitchSpeed: {
        type: PropType<Level>;
        default: undefined;
    };
    glitchChromatic: {
        type: BooleanConstructor;
        default: undefined;
    };
    enableVignette: {
        type: BooleanConstructor;
        default: undefined;
    };
    vignetteIntensity: {
        type: NumberConstructor;
        default: undefined;
    };
    enableCurvature: {
        type: BooleanConstructor;
        default: undefined;
    };
    curvatureIntensity: {
        type: NumberConstructor;
        default: undefined;
    };
    enableGlare: {
        type: BooleanConstructor;
        default: undefined;
    };
    glareIntensity: {
        type: NumberConstructor;
        default: undefined;
    };
    enableNoise: {
        type: BooleanConstructor;
        default: undefined;
    };
    noiseOpacity: {
        type: NumberConstructor;
        default: undefined;
    };
    tintText: {
        type: BooleanConstructor;
        default: undefined;
    };
    textColor: {
        type: StringConstructor;
        default: undefined;
    };
    sweepColor: {
        type: StringConstructor;
        default: undefined;
    };
}>> & Readonly<{}>, {
    preset: import("..").PresetName | undefined;
    fill: boolean;
    theme: "green" | "amber" | "blue" | "custom" | undefined;
    enabled: boolean;
    sweepDuration: number;
    sweepThickness: number;
    sweepStyle: "classic" | "soft" | undefined;
    scanlineOpacity: number;
    scanlineThickness: number;
    scanlineGap: number;
    scanlineOrientation: "horizontal" | "vertical" | undefined;
    enableScanlines: boolean;
    enableSweep: boolean;
    enableGlow: boolean;
    enableEdgeGlow: boolean;
    enableFlicker: boolean;
    enableVignette: boolean;
    enableGlitch: boolean;
    enableCurvature: boolean;
    enableGlare: boolean;
    enableNoise: boolean;
    glitchChromatic: boolean;
    curvatureIntensity: number;
    glareIntensity: number;
    noiseOpacity: number;
    glowColor: string;
    edgeGlowColor: string;
    edgeGlowSize: number;
    flickerIntensity: Level;
    flickerSpeed: Level;
    glitchIntensity: Level;
    glitchSpeed: Level;
    vignetteIntensity: number;
    scanlineColor: string;
    tintText: boolean;
    textColor: string;
    sweepColor: string;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default CRTEffect;
export { CRTEffect };
