import { ImageSampler, Image2D } from '@awayjs/stage';
import { Texture2D } from './Texture2D';
export declare class ImageTexture2D extends Texture2D {
    static assetType: string;
    /**
     *
     * @returns {string}
     */
    get assetType(): string;
    /**
     *
     * @returns {ImageBase}
     */
    get sampler(): ImageSampler;
    set sampler(value: ImageSampler);
    /**
     *
     * @returns {ImageBase}
     */
    get image(): Image2D;
    set image(value: Image2D);
    constructor(image?: Image2D, mappingMode?: MappingMode);
}
import { ShaderRegisterCache, ShaderRegisterData, ShaderRegisterElement } from '@awayjs/stage';
import { _Shader_ImageTexture } from './ImageTextureCube';
import { MappingMode } from '../base/MappingMode';
import { _Render_RenderableBase } from '../base/_Render_RenderableBase';
/**
 *
 * @class away.pool.GL_SingleImageTexture
 */
export declare class _Shader_ImageTexture2D extends _Shader_ImageTexture {
    /**
     *
     * @param shader
     * @param regCache
     * @param targetReg The register in which to store the sampled colour.
     * @param uvReg The uv coordinate vector with which to sample the texture map.
     * @returns {string}
     * @private
     */
    _getFragmentCode(targetReg: ShaderRegisterElement, regCache: ShaderRegisterCache, sharedReg: ShaderRegisterData, inputReg: ShaderRegisterElement): string;
    activate(): void;
    _setRenderState(renderState: _Render_RenderableBase): void;
}
//# sourceMappingURL=ImageTexture2D.d.ts.map