import { Config } from 'aws-sdk';
import * as DynamoDB from 'aws-sdk/clients/dynamodb';
import { Observable } from 'rxjs';
/**
 * Simply brings the standard dynamodb operations into the rx world by wrapping the node callbacks into observables
 */
export declare class DynamoRx {
    readonly dynamoDb: DynamoDB;
    constructor(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>;
    transactWriteItems(params: DynamoDB.TransactWriteItemsInput): Observable<DynamoDB.TransactWriteItemsOutput>;
    transactGetItems(params: DynamoDB.TransactGetItemsInput): Observable<DynamoDB.TransactGetItemsOutput>;
    scan(params: DynamoDB.ScanInput): Observable<DynamoDB.ScanOutput>;
    query(params: DynamoDB.QueryInput): Observable<DynamoDB.QueryOutput>;
    makeRequest(operation: string, params?: Record<string, any>): Observable<any>;
}
