import type { IElementOptions } from '../element';
import CanvasGraffiti from '..';
export type CacheGraffiti = {
    eleInfoList: IElementOptions[];
    width: CanvasGraffiti['width'];
    height: CanvasGraffiti['height'];
    lineWidth: CanvasGraffiti['lineWidth'];
    shadowBlur: CanvasGraffiti['shadowBlur'];
    shadowColor: CanvasGraffiti['shadowColor'];
    fillStyle: CanvasGraffiti['fillStyle'];
    strokeStyle: CanvasGraffiti['strokeStyle'];
    dpr: CanvasGraffiti['dpr'];
};
interface ICacheStack {
    preItem: CacheGraffiti;
    revokeList: CacheGraffiti[];
    maxSize: number;
    push: (item: CacheGraffiti) => void;
    pop: () => void;
    clear: () => void;
}
export declare class CacheStack implements ICacheStack {
    revokeList: CacheGraffiti[];
    redoList: CacheGraffiti[];
    preItem: CacheGraffiti;
    maxSize: number;
    constructor(maxSize?: number);
    get revokeSize(): number;
    get redoSize(): number;
    push(item: CacheGraffiti): void;
    pop(): CacheGraffiti;
    popRedo(): CacheGraffiti;
    clear(): void;
}
export {};
