import Texture from "../textures/Texture";
import VertexDataFormat from "./VertexDataFormat";
import Effect from "./Effect";
declare namespace starling.rendering {
	/**
	 *  An effect drawing a mesh of textured vertices.
	 *  *  This is the standard effect that is the base for all fragment filters;
	 *  *  if you want to create your own fragment filters, you will have to extend this class.
	 *  *
	 *  *  <p>For more information about the usage and creation of effects, please have a look at
	 *  *  the documentation of the parent class, "Effect".</p>
	 *  *
	 *  *  @see Effect
	 *  *  @see MeshEffect
	 *  *  @see starling.filters.FragmentFilter
	 *  
	 */
	export class FilterEffect extends Effect {
		/**
		 *  Creates a new FilterEffect instance. 
		 */
		constructor();
		/**
		 *  The AGAL code for the standard vertex shader that most filters will use.
		 *      *  It simply transforms the vertex coordinates to clip-space and passes the texture
		 *      *  coordinates to the fragment program (as 'v0'). 
		 */
		static STD_VERTEX_SHADER: string;
		/**
		 *  The texture to be mapped onto the vertices. 
		 */
		get texture(): Texture;
		set texture(value: Texture)
		/**
		 *  The smoothing filter that is used for the texture. @default bilinear 
		 */
		get textureSmoothing(): string;
		set textureSmoothing(value: string)
		/**
		 *  Indicates if pixels at the edges will be repeated or clamped.
		 *      *  Only works for power-of-two textures. @default false 
		 */
		get textureRepeat(): boolean;
		set textureRepeat(value: boolean)
	}
}
export default starling.rendering.FilterEffect;