/// <reference types="long" />
/// <reference types="bluebird" />
import * as Promise from 'bluebird';
import { IReplicatedMap } from './IReplicatedMap';
import { Predicate } from '../core/Predicate';
import { IMapListener } from '../core/MapListener';
import { PartitionSpecificProxy } from './PartitionSpecificProxy';
import Long = require('long');
import { ArrayComparator } from '../util/ArrayComparator';
import { ReadOnlyLazyList } from '../core/ReadOnlyLazyList';
export declare class ReplicatedMapProxy<K, V> extends PartitionSpecificProxy implements IReplicatedMap<K, V> {
    put(key: K, value: V, ttl?: Long | number): Promise<V>;
    clear(): Promise<void>;
    get(key: K): Promise<V>;
    containsKey(key: K): Promise<boolean>;
    containsValue(value: V): Promise<boolean>;
    size(): Promise<number>;
    isEmpty(): Promise<boolean>;
    remove(key: K): Promise<V>;
    putAll(pairs: [K, V][]): Promise<void>;
    keySet(): Promise<K[]>;
    values(comparator?: ArrayComparator<V>): Promise<ReadOnlyLazyList<V>>;
    entrySet(): Promise<[K, V][]>;
    addEntryListenerToKeyWithPredicate(listener: IMapListener<K, V>, key: K, predicate: Predicate): Promise<string>;
    addEntryListenerWithPredicate(listener: IMapListener<K, V>, predicate: Predicate): Promise<string>;
    addEntryListenerToKey(listener: IMapListener<K, V>, key: K): Promise<string>;
    addEntryListener(listener: IMapListener<K, V>): Promise<string>;
    removeEntryListener(listenerId: string): Promise<boolean>;
    private addEntryListenerInternal(listener, predicate, key);
    private createEntryListener(name);
    private createEntryListenerToKey(name, keyData);
    private createEntryListenerWithPredicate(name, predicateData);
    private createEntryListenerToKeyWithPredicate(name, keyData, predicateData);
}
