import { UmbControllerBase } from '../../../../../libs/class-api/index.js';
import type { UmbControllerHost } from '../../../../../libs/controller-api/index.js';
export interface UmbBlockGridScalableContext extends UmbControllerHost {
    setColumnSpan: (columnSpan: number) => void;
    setRowSpan: (rowSpan: number) => void;
    getColumnSpan: () => number | undefined;
    getRowSpan: () => number | undefined;
    getMinMaxRowSpan: () => [number, number] | undefined;
    getRelevantColumnSpanOptions: () => Array<number> | undefined;
}
export interface UmbBlockGridScalableContainerContext extends UmbControllerHost {
    getLayoutColumns: () => number | undefined;
    getLayoutContainerElement: () => HTMLElement | undefined;
}
export declare class UmbBlockGridScaleManager extends UmbControllerBase {
    #private;
    _host: UmbBlockGridScalableContext;
    protected _entries?: UmbBlockGridScalableContainerContext;
    constructor(host: UmbBlockGridScalableContext);
    setEntriesContext(entriesContext: UmbBlockGridScalableContainerContext | undefined): void;
    onScaleMouseDown(event: MouseEvent): void;
    onScaleMouseMove: (e: MouseEvent) => void;
    onScaleMouseUp: (e: MouseEvent) => void;
}
export default UmbBlockGridScaleManager;
