import type { WebGLRendererParameters, ColorSpace, ShadowMapType, ToneMapping } from 'three';
import { type TresContext } from '../composables';
import type { RendererPresetsType } from '../composables/useRenderer/const';
import type { TresCamera } from '../types/';
export interface TresCanvasProps extends Omit<WebGLRendererParameters, 'canvas'> {
    shadows?: boolean;
    clearColor?: string;
    toneMapping?: ToneMapping;
    shadowMapType?: ShadowMapType;
    useLegacyLights?: boolean;
    outputColorSpace?: ColorSpace;
    toneMappingExposure?: number;
    camera?: TresCamera;
    preset?: RendererPresetsType;
    windowSize?: boolean;
    disableRender?: boolean;
}
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
    context: {
        type: import("vue").PropType<WebGLRenderingContext>;
    };
    precision: {
        type: import("vue").PropType<string>;
    };
    alpha: {
        type: import("vue").PropType<boolean>;
        default: undefined;
    };
    premultipliedAlpha: {
        type: import("vue").PropType<boolean>;
    };
    antialias: {
        type: import("vue").PropType<boolean>;
        default: undefined;
    };
    stencil: {
        type: import("vue").PropType<boolean>;
        default: undefined;
    };
    preserveDrawingBuffer: {
        type: import("vue").PropType<boolean>;
        default: undefined;
    };
    powerPreference: {
        type: import("vue").PropType<string>;
    };
    depth: {
        type: import("vue").PropType<boolean>;
        default: undefined;
    };
    logarithmicDepthBuffer: {
        type: import("vue").PropType<boolean>;
        default: undefined;
    };
    failIfMajorPerformanceCaveat: {
        type: import("vue").PropType<boolean>;
        default: undefined;
    };
    shadows: {
        type: import("vue").PropType<boolean>;
        default: undefined;
    };
    shadowMapType: {
        type: import("vue").PropType<ShadowMapType>;
    };
    useLegacyLights: {
        type: import("vue").PropType<boolean>;
        default: undefined;
    };
    outputColorSpace: {
        type: import("vue").PropType<ColorSpace>;
    };
    toneMapping: {
        type: import("vue").PropType<ToneMapping>;
    };
    toneMappingExposure: {
        type: import("vue").PropType<number>;
    };
    clearColor: {
        type: import("vue").PropType<string>;
    };
    windowSize: {
        type: import("vue").PropType<boolean>;
        default: undefined;
    };
    preset: {
        type: import("vue").PropType<"realistic">;
    };
    camera: {
        type: import("vue").PropType<TresCamera>;
    };
    disableRender: {
        type: import("vue").PropType<boolean>;
        default: undefined;
    };
}, {
    context: import("vue").ShallowRef<TresContext | null>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    context: {
        type: import("vue").PropType<WebGLRenderingContext>;
    };
    precision: {
        type: import("vue").PropType<string>;
    };
    alpha: {
        type: import("vue").PropType<boolean>;
        default: undefined;
    };
    premultipliedAlpha: {
        type: import("vue").PropType<boolean>;
    };
    antialias: {
        type: import("vue").PropType<boolean>;
        default: undefined;
    };
    stencil: {
        type: import("vue").PropType<boolean>;
        default: undefined;
    };
    preserveDrawingBuffer: {
        type: import("vue").PropType<boolean>;
        default: undefined;
    };
    powerPreference: {
        type: import("vue").PropType<string>;
    };
    depth: {
        type: import("vue").PropType<boolean>;
        default: undefined;
    };
    logarithmicDepthBuffer: {
        type: import("vue").PropType<boolean>;
        default: undefined;
    };
    failIfMajorPerformanceCaveat: {
        type: import("vue").PropType<boolean>;
        default: undefined;
    };
    shadows: {
        type: import("vue").PropType<boolean>;
        default: undefined;
    };
    shadowMapType: {
        type: import("vue").PropType<ShadowMapType>;
    };
    useLegacyLights: {
        type: import("vue").PropType<boolean>;
        default: undefined;
    };
    outputColorSpace: {
        type: import("vue").PropType<ColorSpace>;
    };
    toneMapping: {
        type: import("vue").PropType<ToneMapping>;
    };
    toneMappingExposure: {
        type: import("vue").PropType<number>;
    };
    clearColor: {
        type: import("vue").PropType<string>;
    };
    windowSize: {
        type: import("vue").PropType<boolean>;
        default: undefined;
    };
    preset: {
        type: import("vue").PropType<"realistic">;
    };
    camera: {
        type: import("vue").PropType<TresCamera>;
    };
    disableRender: {
        type: import("vue").PropType<boolean>;
        default: undefined;
    };
}>>, {
    alpha: boolean;
    antialias: boolean;
    stencil: boolean;
    preserveDrawingBuffer: boolean;
    depth: boolean;
    logarithmicDepthBuffer: boolean;
    failIfMajorPerformanceCaveat: boolean;
    shadows: boolean;
    useLegacyLights: boolean;
    windowSize: boolean;
    disableRender: boolean;
}, {}>, {
    default(): any;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
