import { Rect } from '@expofp/geometry';
import { type ImageDef } from '@expofp/renderer';
import type { Booth } from '../../../../store/BoothStore';
import { BoothDrawerBaseWithoutPainter } from './BoothDrawerBase';
export default function configBoothBookmarkImage(booth: Booth): BoothBookmarkDrawer | undefined;
export declare class BoothBookmarkDrawer extends BoothDrawerBaseWithoutPainter {
    protected shape: ImageDef;
    protected bookmarkId: string;
    protected readonly canvas: HTMLCanvasElement;
    protected rect: Rect;
    protected padding: number;
    constructor(booth: Booth);
    getShape: () => ImageDef;
    update(bookmarked: boolean): void;
    /**
     * Lays this bookmark out for a new pixel size: the ribbon holds its on-screen size, clamped to what
     * fits in the top-right corner of the booth.
     * @param pixelSize - Plan units per device pixel.
     * @returns The bookmark unless hidden — nothing draws a hidden one, and `update()` syncs it on
     *   the way back into view.
     */
    layOutBookmark(pixelSize: number): ImageDef[];
}
//# sourceMappingURL=config-booth-bookmark.d.ts.map