import { ColorSpace, DepthFormat, DepthStencilFormat, DepthTexture, FloatType, MagnificationTextureFilter, MinificationTextureFilter, RenderTarget, Texture, TextureDataType, UnsignedInt248Type, UnsignedIntType, UnsignedShortType, Vector4, Wrapping } from 'three';
import { IRenderManager, IWebGLRenderer } from '../core';
export interface IRenderTarget extends RenderTarget<Texture> {
    isWebGLRenderTarget?: true;
    width: number;
    height: number;
    depth: number;
    assetType?: 'renderTarget';
    name?: string;
    uuid?: string;
    sizeMultiplier?: number;
    isTemporary?: boolean;
    targetKey?: string;
    clone(trackTarget?: boolean): this;
    setSize(width: number, height: number, depth?: number): void;
    copy(source: IRenderTarget | RenderTarget): this;
    dispose(): void;
    scissor: Vector4;
    /**
     * @default false
     */
    scissorTest: boolean;
    viewport: Vector4;
    /**
     * @default true
     */
    depthBuffer: boolean;
    /**
     * @default true
     */
    stencilBuffer: boolean;
    /**
     * @default null
     */
    depthTexture: DepthTexture;
    /**
     * Defines the count of MSAA samples. Can only be used with WebGL 2. Default is **0**.
     * @default 0
     */
    samples: number;
    isWebGLCubeRenderTarget?: boolean;
    clear?(renderer: IWebGLRenderer, color: boolean, depth: boolean, stencil: boolean): void;
    readonly renderManager?: IRenderManager;
}
export interface CreateRenderTargetOptions {
    sizeMultiplier?: number;
    size?: {
        width: number;
        height: number;
    };
    generateMipmaps?: boolean;
    samples?: number;
    minFilter?: MinificationTextureFilter;
    magFilter?: MagnificationTextureFilter;
    colorSpace?: ColorSpace;
    type?: TextureDataType;
    format?: number;
    /**
     * @default true
     */
    depthBuffer?: boolean;
    /**
     * @default false
     */
    stencilBuffer?: boolean;
    depthTexture?: boolean;
    depthTextureType?: typeof UnsignedShortType | typeof UnsignedInt248Type | typeof UnsignedIntType | typeof FloatType;
    depthTextureFormat?: typeof DepthFormat | typeof DepthStencilFormat;
    textureCount?: number;
    wrapS?: Wrapping;
    wrapT?: Wrapping;
}
export declare function createRenderTargetKey(op?: CreateRenderTargetOptions): string;
//# sourceMappingURL=../src/rendering/RenderTarget.d.ts.map