import { AssetBase } from '@awayjs/core';
import { AttributesView } from './AttributesView';
export declare class AttributesBuffer extends AssetBase {
    static assetType: string;
    private _count;
    private _newCount;
    private _stride;
    private _newStride;
    private _buffer;
    private _bufferView;
    private _contentDirty;
    private _lengthDirty;
    private _viewVOs;
    /**
     * @returns {string}
     */
    get assetType(): string;
    get stride(): number;
    set stride(value: number);
    get count(): number;
    set count(value: number);
    get buffer(): ArrayBuffer;
    get bufferView(): Uint8Array;
    set bufferView(value: Uint8Array);
    get length(): number;
    /**
     *
     */
    constructor(stride?: number, count?: number);
    /**
     *
     */
    invalidate(): void;
    /**
     *
     * @private
     */
    resize(): void;
    cloneBufferView(): AttributesBuffer;
    clone(): AttributesBuffer;
    getView(index: number): AttributesView;
    _setAttributes(viewIndex: number, arrayBufferView: ArrayBufferView, offset?: number): void;
    _addView(view: AttributesView): void;
    _removeView(view: AttributesView): void;
    _getOffset(viewIndex: number): number;
    _updateLength(): void;
}
import { AbstractionBase } from '@awayjs/core';
import { IIndexBuffer } from '../base/IIndexBuffer';
import { IVertexBuffer } from '../base/IVertexBuffer';
import { ContextGLDrawMode } from '../base/ContextGLDrawMode';
import { Stage } from '../Stage';
/**
 *
 * @class away.pool._Stage_AttributesBuffer
 */
export declare class _Stage_AttributesBuffer extends AbstractionBase {
    private _indexBuffer;
    private _vertexBuffer;
    get attributesBuffer(): AttributesBuffer;
    init(attributesBuffer: AttributesBuffer, stage: Stage): void;
    /**
     *
     */
    onClear(): void;
    activate(index: number, size: number, dimensions: number, offset: number, unsigned?: boolean): void;
    draw(mode: ContextGLDrawMode, firstIndex: number, numIndices: number): void;
    _getIndexBuffer(): IIndexBuffer;
    _getVertexBuffer(): IVertexBuffer;
}
//# sourceMappingURL=AttributesBuffer.d.ts.map