import { DocumentClient } from 'aws-sdk/lib/dynamodb/document_client'; import { Omit } from 'ramda'; import { TConnector } from '../../../engine/expression/type'; import { Document } from '../../document'; export declare abstract class Printable { protected runner: Runner; protected genKey: (key?: any) => any; protected genValue: (key?: any) => any; protected params: Input; protected constructor(runner: Runner); /** * Merge params object * @param {Partial} target * @param {TConnector} connector * @returns {this} * @protected */ protected merge(target: Partial, connector?: TConnector): this; protected preRun(): void; /** * Get operation text(without keys) * @returns {R.Omit> | Pick> | Pick>, string>} */ out(): Pick; } export declare type Runner = (params: Input) => Promise | Document>; export declare type OutputProxy = Omit & { Items: Document[]; }; declare type ScanInput = Omit; declare type QueryInput = Omit; declare type UpdateItemInput = Omit; declare type Input = ScanInput | QueryInput | UpdateItemInput; declare type Output = Omit; export {};