import { type IDashboardLayout, type IDashboardLayoutItem, type IDashboardLayoutSection } from "@gooddata/sdk-model";
import { type ExtendedDashboardWidget } from "../../model/types/layoutTypes.js";
import { type ILayoutCoordinates, type ILayoutItemPath, type ILayoutSectionPath } from "../../types.js";
export declare const areLayoutPathsEqual: (path1: ILayoutItemPath | undefined, path2: ILayoutItemPath | undefined) => boolean;
export declare const areSameCoordinates: (coordinates1?: ILayoutCoordinates | undefined, coordinates2?: ILayoutCoordinates | undefined) => boolean;
export declare const areItemsInSameSection: (path1: ILayoutItemPath | undefined, path2: ILayoutItemPath | undefined) => boolean;
/**
 * Returns the common path between two item paths. After first difference rest is not included.
 *
 * @param fromItemPath - the path of the item from which the move is starting
 * @param toItemPath - the path of the item to which the move is going
 * @returns the common path between the two item paths. If the paths are not related, returns an empty path.
 */
export declare function getCommonPath(fromItemPath: ILayoutItemPath, toItemPath: ILayoutItemPath): ILayoutItemPath;
export declare const serializeLayoutItemPath: (path: ILayoutItemPath | undefined) => string;
export declare const serializeLayoutSectionPath: (path: ILayoutSectionPath | undefined) => string;
export declare const areSectionLayoutPathsEqual: (section1: ILayoutSectionPath | undefined, section2: ILayoutSectionPath | undefined) => boolean;
export declare const asLayoutItemPath: (sectionIndex: ILayoutSectionPath, itemIndex: number) => ILayoutItemPath;
export declare const asSectionPath: (layoutPath: ILayoutItemPath) => ILayoutSectionPath;
export declare const findSection: (layout: IDashboardLayout<ExtendedDashboardWidget>, index: ILayoutItemPath | ILayoutSectionPath) => IDashboardLayoutSection<ExtendedDashboardWidget>;
export declare const findSections: (layout: IDashboardLayout<ExtendedDashboardWidget>, index: ILayoutItemPath | ILayoutSectionPath) => IDashboardLayoutSection<ExtendedDashboardWidget>[];
export declare const findItem: (layout: IDashboardLayout<ExtendedDashboardWidget>, path: ILayoutItemPath) => IDashboardLayoutItem<ExtendedDashboardWidget>;
export declare const isItemInSection: (item: ILayoutItemPath, section: ILayoutSectionPath) => boolean;
export declare const getItemIndex: (layoutPath: ILayoutItemPath) => number;
export declare const getSectionIndex: (layoutPath: ILayoutItemPath | ILayoutSectionPath) => number;
export declare const updateItemIndex: (layoutPath: ILayoutItemPath, newItemIndex: number) => ILayoutItemPath;
export declare const updateSectionIndex: (layoutPath: ILayoutSectionPath, newSectionIndex: number) => ILayoutSectionPath;
export declare const updateItem: (layoutPath: ILayoutItemPath, newSectionIndex: number, newItemIndex: number) => ILayoutItemPath;
export declare const hasParent: (path: ILayoutItemPath | ILayoutSectionPath) => boolean;
export declare const getParentPath: (path: ILayoutItemPath | ILayoutSectionPath | undefined) => ILayoutItemPath | undefined;
//# sourceMappingURL=coordinates.d.ts.map