/// <reference types="node" resolution-mode="require"/>
import { PngOptions } from 'sharp';
export interface SvgId {
    /** Unique id for the sprite */
    id: string;
    /** Sprite as buffer */
    buffer: Buffer;
}
/** Mirror the type SvgID as SpriteId as now sprites can be png, webp etc.. */
export type SpriteId = SvgId;
export interface SpriteSheetLayout {
    [id: string]: {
        width: number;
        height: number;
        x: number;
        y: number;
        pixelRatio: number;
    };
}
export interface SpriteSheetResult {
    /** Pixel ratio that was used to generate the sprite sheet */
    pixelRatio: number;
    /** Layout to where the sprites were placed */
    layout: SpriteSheetLayout;
    /** PNG buffer of the sprite sheet */
    buffer: Buffer;
}
export type SpriteLoaded = {
    width: number;
    height: number;
} & SvgId;
export declare const Sprites: {
    generate(source: SvgId[], pixelRatio: readonly number[], compress?: PngOptions): Promise<SpriteSheetResult[]>;
};
