import { TresColor } from '@tresjs/core';
import { BlendFunction, KernelSize, OutlineEffect } from 'postprocessing';
import { Object3D, Texture } from 'three';
export interface OutlinePmndrsProps {
    /**
     * The objects in the scene which should have an outline.
     */
    outlinedObjects: Object3D[];
    blur?: boolean;
    /**
     * Whether occluded parts of selected objects should be visible
     */
    xRay?: boolean;
    /**
     * The blur kernel size. Must be used with blur being true.
     */
    kernelSize?: KernelSize;
    /**
     * The pulse speed. A value of zero disables the pulse effect.
     */
    pulseSpeed?: number;
    resolutionX?: number;
    resolutionY?: number;
    edgeStrength?: number;
    patternScale?: number;
    /**
     * The number of samples used for multisample antialiasing. Requires WebGL 2.
     */
    multisampling?: number;
    blendFunction?: BlendFunction;
    patternTexture?: Texture;
    resolutionScale?: number;
    hiddenEdgeColor?: TresColor;
    visibleEdgeColor?: TresColor;
}
declare const _default: import('vue').DefineComponent<OutlinePmndrsProps, {
    pass: import('vue').ShallowRef<import('postprocessing').EffectPass | null>;
    effect: import('vue').ShallowRef<OutlineEffect | null>;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<OutlinePmndrsProps> & Readonly<{}>, {
    blur: boolean;
    xRay: boolean;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
export default _default;
