import { PolyDictionary } from '../../../../types/GlobalTypes';
import { AttribSize, AttribType, GroupString } from '../../Constant';
import { CoreGroup } from '../../Group';
import { CoreObjectType, ObjectContent } from '../../ObjectContent';
import type { CorePoint } from './CorePoint';
import type { BaseCoreObject } from '../object/BaseCoreObject';
export declare function pointsFromCoreGroup<T extends CoreObjectType>(coreGroup: CoreGroup, target: CorePoint<T>[]): CorePoint<T>[];
export declare function pointsFromCoreObjects<T extends CoreObjectType>(coreObjects: BaseCoreObject<CoreObjectType>[], target: CorePoint<T>[]): CorePoint<T>[];
export declare function pointsFromObjects<T extends CoreObjectType>(objects: ObjectContent<CoreObjectType>[], target: CorePoint<T>[]): CorePoint<T>[];
export declare function pointsAttribNamesFromCoreGroup(coreGroup: CoreGroup): string[];
export declare function pointAttribSizesFromCoreGroup(coreGroup: CoreGroup): PolyDictionary<AttribSize>;
export declare function pointAttribTypesFromCoreGroup(coreGroup: CoreGroup): PolyDictionary<AttribType>;
export declare function pointsCountFromObject<T extends CoreObjectType>(object: ObjectContent<T>): number;
export declare function pointsFromObject<T extends CoreObjectType>(object: ObjectContent<T>, target: CorePoint<T>[]): CorePoint<T>[];
export declare function pointsFromObjectFromGroup<T extends CoreObjectType>(object: ObjectContent<T>, group: GroupString, target: CorePoint<T>[]): void;
export declare function hasPointAttribute<T extends CoreObjectType>(object: ObjectContent<T>, attribName: string): boolean;
export declare function pointAttributeNames<T extends CoreObjectType>(object: ObjectContent<T>): string[];
export declare function pointAttributeSize<T extends CoreObjectType>(object: ObjectContent<T>, attribName: string): number;
export declare function pointAttributeSizes<T extends CoreObjectType>(object: ObjectContent<T>): PolyDictionary<AttribSize>;
export declare function pointAttributeType<T extends CoreObjectType>(object: ObjectContent<T>, attribName: string): AttribType;
export declare function pointAttributeTypes<T extends CoreObjectType>(object: ObjectContent<T>): PolyDictionary<AttribType>;
