import { DataTypeFields, FieldType, ReadonlyDataTypeFields, TypedArray, TypedArrayConstructor } from '@terascope/types'; import { FieldArg } from './interfaces.js'; export declare function getFieldsFromArg(fields: readonly K[], arg: FieldArg[]): ReadonlySet; export declare function flattenStringArg(arg: FieldArg[]): ReadonlySet; /** * Gets the correctly sized TypeArray depending on the length of items */ export declare function getPointerArray(size: number): TypedArray; /** * Gets the correctly sized TypeArray constructor depending on the size of values being stored */ export declare function getTypedArrayClass(size: number): TypedArrayConstructor; export declare function freezeObject>(input: T): T extends Readonly ? Readonly : Readonly; type ArrLike = (any[]) | (readonly any[]); export declare function freezeArray(input: T): T extends Readonly ? Readonly : Readonly; /** * This is used in the Vector and Builder classes * to get the correctly scoped field configurations * since we use dot notation for nested field configurations */ export declare function getChildDataTypeConfig(config: DataTypeFields | ReadonlyDataTypeFields, baseField: string, fieldType: FieldType): DataTypeFields | undefined; export {}; //# sourceMappingURL=utils.d.ts.map