import { ICoords, ISize, TBoundingBox, TItemReference, tView } from 'src/interfaces';
declare const sortByPosition: (tiles: ICoords[]) => {
    byX: ICoords[];
    byY: ICoords[];
    lowest: {
        byX: ICoords;
        byY: ICoords;
    };
    highest: {
        byX: ICoords;
        byY: ICoords;
    };
    lowX: number;
    highX: number;
    lowY: number;
    highY: number;
};
declare const isWithinBounds: (tile: ICoords, bounds: ICoords[]) => boolean;
declare const isBoundsIntersection: (boundsFirst: ICoords[], boundsSecond: ICoords[]) => boolean;
declare const getBoundingBox: (tiles: ICoords[], offset?: ICoords) => TBoundingBox;
declare const getBoundingBoxSize: (boundingBox: ICoords[]) => ISize;
declare const getGridSubset: (tiles: ICoords[]) => {
    x: number;
    y: number;
}[];
interface IGetFirstItemAtTile {
    tile: ICoords;
    viewItem: tView;
}
declare const getFirstItemAtTile: (params: IGetFirstItemAtTile) => TItemReference | null;
interface IGetAllItemsInBounds {
    boundsList: ICoords[];
    viewItem: tView;
}
declare const getAllEntitiesInBounds: (params: IGetAllItemsInBounds) => {
    id: string;
    name: string;
    typeId: string;
    iconUrl: string;
    tile: {
        x: number;
        y: number;
    };
    isIsometric?: boolean | undefined;
    labelHeight?: number | undefined;
}[] | null;
declare const getAllTextBoxesInBounds: (params: IGetAllItemsInBounds) => {
    id: string;
    tile: {
        x: number;
        y: number;
    };
    content: string;
    size: {
        width: number;
        height: number;
    };
    fontSize?: number | undefined;
    orientation?: "X" | "Y" | undefined;
}[] | null;
declare const getAllConnectorsInBounds: (params: IGetAllItemsInBounds) => never[] | null;
declare const getAllRectanglesInBounds: (params: IGetAllItemsInBounds) => {
    sort: number;
    type: string;
    id: string;
    label: string;
    isHidden: boolean;
    color: string;
    borderColor: string;
    from: {
        x: number;
        y: number;
    };
    to: {
        x: number;
        y: number;
    };
    customData: {};
}[];
declare const getAllItemsInBounds: (params: IGetAllItemsInBounds) => {
    entitiesList: {
        id: string;
        name: string;
        typeId: string;
        iconUrl: string;
        tile: {
            x: number;
            y: number;
        };
        isIsometric?: boolean | undefined;
        labelHeight?: number | undefined;
    }[] | null;
    textBoxesList: {
        id: string;
        tile: {
            x: number;
            y: number;
        };
        content: string;
        size: {
            width: number;
            height: number;
        };
        fontSize?: number | undefined;
        orientation?: "X" | "Y" | undefined;
    }[] | null;
    connectorsList: never[] | null;
    rectanglesList: {
        sort: number;
        type: string;
        id: string;
        label: string;
        isHidden: boolean;
        color: string;
        borderColor: string;
        from: {
            x: number;
            y: number;
        };
        to: {
            x: number;
            y: number;
        };
        customData: {};
    }[];
};
declare const getProjectBounds: (view: tView, padding?: number) => ICoords[];
declare const getUnprojectedBounds: (view: tView, isIsometricMode: boolean) => {
    width: number;
    height: number;
    x: number;
    y: number;
};
export { sortByPosition, isWithinBounds, isBoundsIntersection, getBoundingBox, getBoundingBoxSize, getGridSubset, getFirstItemAtTile, getAllEntitiesInBounds, getAllTextBoxesInBounds, getAllConnectorsInBounds, getAllRectanglesInBounds, getAllItemsInBounds, getProjectBounds, getUnprojectedBounds, };
