import { PolyDictionary } from '../../../../types/GlobalTypes';
import { AttribSize, AttribType, GroupString } from '../../Constant';
import { CoreGroup } from '../../Group';
import { CoreObjectType, ObjectContent } from '../../ObjectContent';
import { CoreVertex } from './CoreVertex';
export declare function vertices<T extends CoreObjectType>(coreGroup: CoreGroup, target: CoreVertex<T>[]): CoreVertex<T>[];
export declare function vertexAttribNamesFromCoreGroup(coreGroup: CoreGroup): string[];
export declare function vertexAttribSizesFromCoreGroup(coreGroup: CoreGroup): PolyDictionary<AttribSize>;
export declare function vertexAttribTypesFromCoreGroup(coreGroup: CoreGroup): PolyDictionary<AttribType>;
export declare function verticesCountFromObject<T extends CoreObjectType>(object: ObjectContent<T>): number;
export declare function verticesFromObject<T extends CoreObjectType>(object: ObjectContent<T>, target: CoreVertex<T>[]): CoreVertex<T>[];
export declare function verticesFromObjectFromGroup<T extends CoreObjectType>(object: ObjectContent<T>, group: GroupString, target: CoreVertex<T>[]): CoreVertex<T>[];
export declare function vertexAttributeNames<T extends CoreObjectType>(object: ObjectContent<T>): string[];
export declare function vertexAttributeSizes<T extends CoreObjectType>(object: ObjectContent<T>): PolyDictionary<AttribSize>;
export declare function vertexAttributeTypes<T extends CoreObjectType>(object: ObjectContent<T>): PolyDictionary<AttribType>;
