import { ConstructorBlock } from "../../models/index.js";
export * from "./code.js";
export * from "./cn.js";
export declare function insert<T>(arr: Array<T>, index: number, newItem: T): T[];
export declare function removeFromArray<T>(array: Array<T>, index: number): T[];
export declare function swapArrayItems<T>(array: Array<T>, firstIndex: number, secondIndex: number): T[];
export declare function reorderArrayItems<T>(array: Array<T>, index: number, destination: number): (T & ({} | null))[];
export declare function duplicateArrayItem<T>(array: Array<T>, index: number): T[];
export declare function insertByPath<T extends object>(object: T, path: string, value: any): T;
export declare function splitPathAndIndex(path: string): {
    path: string;
    index: number;
} | undefined;
export declare function generateChildrenPathFromArray(indexes: number[]): string;
export declare function modifyObjectByPath(blocks: ConstructorBlock[], arrayPath: number[], modifyCallback: (parentBlocks: ConstructorBlock[], index: number) => ConstructorBlock[]): ConstructorBlock[];
export declare function isItemsNeighbours(arrayA: number[], arrayB: number[]): boolean;
export declare function getDestinationShiftBeforeReorder(arrayInit: number[], arrayDest: number[]): number[];
export declare function prepareShift(arrayInit: number[], arrayDest: number[]): number[];
export declare const getUrlOrigin: (url: string) => string | undefined;
export declare const getItemTitle: (item: object) => string | undefined;
