import { Color } from '.';
import Sprite from './sprite';
interface SpriteBuilderOptions {
    spriteDimensions?: [number, number];
    blankPercentage?: number;
    colorPallet?: Array<Color>;
    useRandomPallet?: boolean;
    randomColorCount?: number;
    randomAlpha?: boolean;
    border?: [number, number, number, number] | number;
    horizontalSymmetry?: boolean;
    blankColor?: Color;
}
declare class SpriteBuilder {
    private spriteDimensions;
    private blankPercentage;
    private colorPallet;
    private useRandomPallet;
    private randomColorCount;
    private randomAlpha;
    private border;
    private horizontalSymmetry;
    private blankColor;
    private result?;
    constructor({ spriteDimensions, blankPercentage, colorPallet, useRandomPallet, randomColorCount, randomAlpha, border, horizontalSymmetry, blankColor }: SpriteBuilderOptions);
    single(): SpriteBuilder;
    withDim(dim: [number, number]): SpriteBuilder;
    withBorder(borders?: [number, number, number, number], borderColor?: Color): SpriteBuilder;
    withEdges(edgeColor?: Color, edgeWeight?: number, addExtraBorder?: boolean): SpriteBuilder;
    transform(func: (dim: [number, number], x: number, y: number, pixel: Color) => Color): SpriteBuilder;
    withPadding(dim: [number, number], paddingColor?: Color): SpriteBuilder;
    build(): Sprite;
    getPallet(): Array<Color>;
    selectColor(pallet: Array<Color>): Color;
    addBlanks(pallet: Array<Color>): Array<Color>;
    static randInt(min: number, max: number): number;
    static randomPallet(colorCount: number, randomAlpha: boolean): Array<Color>;
    private validate;
}
export default SpriteBuilder;
