import { GridItem } from "./GridItem";
import { DOMRect } from "./types";
export interface ItemRendererOptions {
    attributePrefix?: string;
    useTransform?: boolean;
    horizontal?: boolean;
    percentage?: Array<"position" | "size"> | boolean;
    isEqualSize?: boolean;
    isConstantSize?: boolean;
    useRoundedSize?: boolean;
}
export interface ItemRendererStatus {
    initialRects: Record<string, Required<DOMRect>>;
}
export declare class ItemRenderer {
    protected options: Required<ItemRendererOptions>;
    protected containerRect: DOMRect;
    protected initialRects: Record<string, Required<DOMRect>>;
    protected sizePercetage: boolean;
    protected posPercetage: boolean;
    constructor(options: ItemRendererOptions);
    resize(): void;
    renderItems(items: GridItem[]): void;
    getInlineSize(): number;
    setContainerRect(rect: DOMRect): void;
    updateEqualSizeItems(items: GridItem[], totalItems: GridItem[]): void;
    updateItems(items: GridItem[]): void;
    getStatus(): ItemRendererStatus;
    setStatus(status: ItemRendererStatus): void;
    private _init;
    updateItem(item: GridItem, checkSizeGroup?: boolean): Required<DOMRect>;
    private _renderItem;
}
