import Texture from "./Texture";
declare namespace starling.textures {
	/**
	 *  The TextureOptions class specifies options for loading textures with the
	 *  *  <code>Texture.fromData</code> and <code>Texture.fromTextureBase</code> methods. 
	 */
	export class TextureOptions {
		/**
		 *  Creates a new instance with the given options. 
		 */
		constructor(scale?: number, mipMapping?: boolean, format?: string, premultipliedAlpha?: boolean, forcePotTexture?: boolean);
		/**
		 *  Creates a clone of the TextureOptions object with the exact same properties. 
		 */
		clone(): TextureOptions;
		/**
		 *  Copies all properties from another TextureOptions instance. 
		 */
		copyFrom(other: TextureOptions): void;
		/**
		 *  The scale factor, which influences width and height properties. If you pass '-1',
		 *      *  the current global content scale factor will be used. @default 1.0 
		 */
		get scale(): number;
		set scale(value: number)
		/**
		 *  The <code>Context3DTextureFormat</code> of the underlying texture data. Only used
		 *      *  for textures that are created from Bitmaps; the format of ATF files is set when they
		 *      *  are created. @default BGRA 
		 */
		get format(): string;
		set format(value: string)
		/**
		 *  Indicates if the texture contains mip maps. @default false 
		 */
		get mipMapping(): boolean;
		set mipMapping(value: boolean)
		/**
		 *  Indicates if the texture will be used as render target. 
		 */
		get optimizeForRenderToTexture(): boolean;
		set optimizeForRenderToTexture(value: boolean)
		/**
		 *  Indicates if the underlying Stage3D texture should be created as the power-of-two based
		 *      *  <code>Texture</code> class instead of the more memory efficient <code>RectangleTexture</code>.
		 *      *  That might be useful when you need to render the texture with wrap mode <code>repeat</code>.
		 *      *  @default false 
		 */
		get forcePotTexture(): boolean;
		set forcePotTexture(value: boolean)
		/**
		 *  If this value is set, the texture will be loaded asynchronously (if possible).
		 *      *  The texture can only be used when the callback has been executed.
		 *      *  
		 *      *  <p>This is the expected function definition: 
		 *      *  <code>function(texture:Texture):void;</code></p>
		 *      *
		 *      *  @default null
		 *      
		 */
		get onReady(): (arg0: Texture) => void;
		set onReady(value: (arg0: Texture) => void)
		/**
		 *  Indicates if the alpha values are premultiplied into the RGB values. This is typically
		 *      *  true for textures created from BitmapData and false for textures created from ATF data.
		 *      *  This property will only be read by the <code>Texture.fromTextureBase</code> factory
		 *      *  method. @default true 
		 */
		get premultipliedAlpha(): boolean;
		set premultipliedAlpha(value: boolean)
	}
}
export default starling.textures.TextureOptions;