/** * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * * @noformat * @oncall react_native * @generated SignedSource<> * * This file was translated from Flow by scripts/generateTypeScriptDefinitions.js * Original file: packages/metro-symbolicate/src/ChromeHeapSnapshot.js * To regenerate, run: * js1 build metro-ts-defs (internal) OR * yarn run build-ts-defs (OSS) */ type RawBuffer = Array; export type ChromeHeapSnapshot = { snapshot: { meta: { trace_function_info_fields: Array; location_fields: Array; edge_fields: Array; edge_types: Array>; node_fields: Array; node_types: Array>; trace_node_fields: Array; }; }; trace_function_infos: Array; locations: Array; edges: Array; nodes: Array; strings: Array; trace_tree: RawBuffer; }; export declare class ChromeHeapSnapshotProcessor { readonly _snapshotData: ChromeHeapSnapshot; readonly _globalStringTable: ChromeHeapSnapshotStringTable; constructor(snapshotData: ChromeHeapSnapshot); traceFunctionInfos(): ChromeHeapSnapshotRecordIterator; locations(): ChromeHeapSnapshotRecordIterator; nodes(): ChromeHeapSnapshotRecordIterator; edges(): ChromeHeapSnapshotRecordIterator; traceTree(): ChromeHeapSnapshotRecordIterator; } declare class ChromeHeapSnapshotStringTable { readonly _strings: Array; readonly _indexCache: Map; constructor(strings: Array); add(value: string): number; get(index: number): string; _syncIndexCache(): void; } type ChromeHeapSnapshotFieldType = Array | string; type DenormalizedRecordInput = Readonly<{ [field: string]: string | number | ReadonlyArray; }>; declare class ChromeHeapSnapshotRecordAccessor { readonly _fieldToOffset: ReadonlyMap; readonly _fieldToType: ReadonlyMap; readonly _recordSize: number; readonly _buffer: RawBuffer; readonly _globalStringTable: ChromeHeapSnapshotStringTable; _position: number; constructor( buffer: RawBuffer, recordFields: Array, recordTypes: | Array | Readonly<{[$$Key$$: string]: ChromeHeapSnapshotFieldType}> | null, globalStringTable: ChromeHeapSnapshotStringTable, position: number, parent?: ChromeHeapSnapshotRecordAccessor, ); /** Public API */ getString(field: string): string; getNumber(field: string): number; getChildren(field: string): ChromeHeapSnapshotRecordIterator; setString(field: string, value: string): void; setNumber(field: string, value: number): void; moveToRecord(recordIndex: number): void; append(record: DenormalizedRecordInput): number; moveAndInsert(recordIndex: number, record: DenormalizedRecordInput): number; /** "Protected" methods (please don't use) */ protectedHasNext(): boolean; protectedTryMoveNext(): void; /** Private methods */ _getRaw(field: string): number | RawBuffer; _getScalar(field: string): string | number; _setRaw(field: string, rawValue: number | RawBuffer): void; _set( field: string, value: string | number | ReadonlyArray, ): void; _setChildren( field: string, value: ReadonlyArray, ): void; _encodeString(field: string, value: string): number; _validatePosition(allowEnd?: boolean, position?: number): void; _moveToPosition(nextPosition: number, allowEnd?: boolean): void; } declare class ChromeHeapSnapshotRecordIterator extends ChromeHeapSnapshotRecordAccessor implements Iterable { constructor( buffer: RawBuffer, recordFields: Array, recordTypes: | Array | Readonly<{[$$Key$$: string]: ChromeHeapSnapshotFieldType}> | null, globalStringTable: ChromeHeapSnapshotStringTable, position?: number, parent?: ChromeHeapSnapshotRecordAccessor, ); next(): IteratorResult; [Symbol.iterator](): ChromeHeapSnapshotRecordIterator; }