import type { BcsType } from '@mysten/sui/bcs'; import { MoveStruct } from '../../../utils/index.js'; /** An entry in the map */ export declare function Entry, V extends BcsType>(...typeParameters: [K, V]): MoveStruct<{ key: K; value: V; }, `0x2::vec_map::Entry<${K["name"]}, ${V["name"]}>`>; /** * A map data structure backed by a vector. The map is guaranteed not to contain * duplicate keys, but entries are _not_ sorted by key--entries are included in * insertion order. All operations are O(N) in the size of the map--the intention * of this data structure is only to provide the convenience of programming against * a map API. Large maps should use handwritten parent/child relationships instead. * Maps that need sorted iteration rather than insertion order iteration should * also be handwritten. */ export declare function VecMap, V extends BcsType>(...typeParameters: [K, V]): MoveStruct<{ contents: BcsType<{ key: K extends BcsType ? U : never; value: V extends BcsType ? U : never; }[], Iterable<{ key: K extends BcsType ? U_1 : never; value: V extends BcsType ? U_1 : never; }> & { length: number; }, string>; }, `0x2::vec_map::VecMap<${K["name"]}, ${V["name"]}>`>;