/// <reference types="bluebird" />
/// <reference types="long" />
import * as Promise from 'bluebird';
import { PartitionSpecificProxy } from '../PartitionSpecificProxy';
import { IRingbuffer } from '../IRingbuffer';
import { OverflowPolicy } from '../../core/OverflowPolicy';
import Long = require('long');
import { ReadResultSet } from './ReadResultSet';
export declare class RingbufferProxy<E> extends PartitionSpecificProxy implements IRingbuffer<E> {
    capacity(): Promise<Long>;
    size(): Promise<Long>;
    tailSequence(): Promise<Long>;
    headSequence(): Promise<Long>;
    remainingCapacity(): Promise<Long>;
    add(item: E, overflowPolicy?: OverflowPolicy): Promise<Long>;
    addAll(items: Array<E>, overflowPolicy?: OverflowPolicy): Promise<Long>;
    readOne(sequence: number | Long): Promise<E>;
    readMany(sequence: number | Long, minCount: number, maxCount: number, filter?: any): Promise<ReadResultSet<E>>;
}
