import type { Keys, Keys1, Keys2, Keys3, Keys4, Keys5, Keys6, Keys7, Path, Without, Without2, Without3, Without4, Without5, Without6, Without7, Without8 } from "@thi.ng/api"; /** * Non-typechecked version of {@link deleteIn}. Path can be given as string or * tuple. Path will be checked via {@link disallowProtoPath}. * * @example * ```ts tangle:../export/delete-in-unsafe.ts * import { deleteInUnsafe } from "@thi.ng/paths"; * * // unchecked * console.log( * deleteInUnsafe({ a: { b: { c: 23 } } }, "a.b.c") * ); * // { a: { b: { } } } * ``` * * @param state - * @param path - */ export declare const deleteInUnsafe: (state: any, path: Path) => any; /** * Uses {@link updateIn} and returns updated state with key for given path * removed. Does not modify original state. Returns `undefined` if `path` is an * empty string or array. * * @remarks * Only the first 8 path levels are type checked. The result type will have the * path value removed too. * * See {@link deleteInUnsafe} for non-typechecked version. * * @example * ```ts tangle:../export/delete-in.ts * import { deleteIn } from "@thi.ng/paths"; * * // type checked * console.log( * deleteIn({ a: { b: { c: 23 } } }, ["a","b","c"]) * ); * * // type error (due to invalid path) * console.log( * deleteIn({ a: { b: { c: 23 } } }, ["a","b","d"]) * ); * ``` * * @param state - * @param path - */ export declare function deleteIn>(state: T, path: readonly [A]): Without; export declare function deleteIn, B extends Keys1>(state: T, path: readonly [A, B]): Without2; export declare function deleteIn, B extends Keys1, C extends Keys2>(state: T, path: readonly [A, B, C]): Without3; export declare function deleteIn, B extends Keys1, C extends Keys2, D extends Keys3>(state: T, path: readonly [A, B, C, D]): Without4; export declare function deleteIn, B extends Keys1, C extends Keys2, D extends Keys3, E extends Keys4>(state: T, path: readonly [A, B, C, D, E]): Without5; export declare function deleteIn, B extends Keys1, C extends Keys2, D extends Keys3, E extends Keys4, F extends Keys5>(state: T, path: readonly [A, B, C, D, E, F]): Without6; export declare function deleteIn, B extends Keys1, C extends Keys2, D extends Keys3, E extends Keys4, F extends Keys5, G extends Keys6>(state: T, path: readonly [A, B, C, D, E, F, G]): Without7; export declare function deleteIn, B extends Keys1, C extends Keys2, D extends Keys3, E extends Keys4, F extends Keys5, G extends Keys6, H extends Keys7>(state: T, path: readonly [A, B, C, D, E, F, G, H]): Without8; //# sourceMappingURL=delete-in.d.ts.map