import { Config } from 'aws-sdk';
import * as DynamoDB from 'aws-sdk/clients/dynamodb';
import { Observable } from 'rxjs';
import { SessionValidityEnsurer } from './session-validity-ensurer.type';
/**
 * Simply brings the standard dynamodb operations into the rx world by wrapping the node callbacks into observables
 */
export declare class DynamoRx {
    readonly dynamoDb: DynamoDB;
    readonly sessionValidityEnsurer: SessionValidityEnsurer;
    constructor(sessionValidityEnsurer: SessionValidityEnsurer, awsRegion?: string);
    updateAwsConfigCredentials(newConfig: Config): void;
    putItem(params: DynamoDB.PutItemInput): Observable<DynamoDB.PutItemOutput>;
    getItem(params: DynamoDB.GetItemInput): Observable<DynamoDB.GetItemOutput>;
    updateItem(params: DynamoDB.UpdateItemInput): Observable<DynamoDB.UpdateItemOutput>;
    deleteItem(params: DynamoDB.DeleteItemInput): Observable<DynamoDB.DeleteItemOutput>;
    batchWriteItem(params: DynamoDB.BatchWriteItemInput): Observable<DynamoDB.BatchWriteItemOutput>;
    batchGetItems(params: DynamoDB.BatchGetItemInput): Observable<DynamoDB.BatchGetItemOutput>;
    scan(params: DynamoDB.ScanInput): Observable<DynamoDB.ScanOutput>;
    query(params: DynamoDB.QueryInput): Observable<DynamoDB.QueryOutput>;
    makeRequest(operation: string, params?: {
        [key: string]: any;
    }): Observable<any>;
}
