import { Uniform1i, Uniform1f, Uniform2f, Uniform3f, UniformMatrix4f } from '../uniform_binding';
import type Painter from '../painter';
import type { UniformValues, UniformLocations } from '../uniform_binding';
import type Context from '../../gl/context';
import type { CrossfadeParameters } from '../../style/evaluation_parameters';
import type Tile from '../../source/tile';
import { mat4 } from 'gl-matrix';
export declare type FillUniformsType = {
    'u_matrix': UniformMatrix4f;
};
export declare type FillOutlineUniformsType = {
    'u_matrix': UniformMatrix4f;
    'u_world': Uniform2f;
};
export declare type FillPatternUniformsType = {
    'u_matrix': UniformMatrix4f;
    'u_texsize': Uniform2f;
    'u_image': Uniform1i;
    'u_pixel_coord_upper': Uniform2f;
    'u_pixel_coord_lower': Uniform2f;
    'u_scale': Uniform3f;
    'u_fade': Uniform1f;
};
export declare type FillOutlinePatternUniformsType = {
    'u_matrix': UniformMatrix4f;
    'u_world': Uniform2f;
    'u_texsize': Uniform2f;
    'u_image': Uniform1i;
    'u_pixel_coord_upper': Uniform2f;
    'u_pixel_coord_lower': Uniform2f;
    'u_scale': Uniform3f;
    'u_fade': Uniform1f;
};
declare const fillUniforms: (context: Context, locations: UniformLocations) => FillUniformsType;
declare const fillPatternUniforms: (context: Context, locations: UniformLocations) => FillPatternUniformsType;
declare const fillOutlineUniforms: (context: Context, locations: UniformLocations) => FillOutlineUniformsType;
declare const fillOutlinePatternUniforms: (context: Context, locations: UniformLocations) => FillOutlinePatternUniformsType;
declare const fillUniformValues: (matrix: mat4) => UniformValues<FillUniformsType>;
declare const fillPatternUniformValues: (matrix: mat4, painter: Painter, crossfade: CrossfadeParameters, tile: Tile) => UniformValues<FillPatternUniformsType>;
declare const fillOutlineUniformValues: (matrix: mat4, drawingBufferSize: [number, number]) => UniformValues<FillOutlineUniformsType>;
declare const fillOutlinePatternUniformValues: (matrix: mat4, painter: Painter, crossfade: CrossfadeParameters, tile: Tile, drawingBufferSize: [number, number]) => UniformValues<FillOutlinePatternUniformsType>;
export { fillUniforms, fillPatternUniforms, fillOutlineUniforms, fillOutlinePatternUniforms, fillUniformValues, fillPatternUniformValues, fillOutlineUniformValues, fillOutlinePatternUniformValues };
//# sourceMappingURL=fill_program.d.ts.map