import { DynamoDbService } from '../data-store/dynamodb.service';
import { CommandModel, CommandModuleOptions, DataListEntity, DataModel, DetailKey } from '../interfaces';
declare const TABLE_NAME: unique symbol;
export declare class DataService {
    private readonly options;
    private readonly dynamoDbService;
    private logger;
    private [TABLE_NAME];
    constructor(options: CommandModuleOptions, dynamoDbService: DynamoDbService);
    set tableName(name: string);
    get tableName(): string;
    publish(cmd: CommandModel): Promise<DataModel>;
    getItem(key: DetailKey): Promise<DataModel>;
    listItemsByPk(pk: string, opts?: {
        sk?: {
            skExpession: string;
            skAttributeValues: Record<string, string>;
            skAttributeNames?: Record<string, string>;
        };
        startFromSk?: string;
        limit?: number;
        order?: 'asc' | 'desc';
    }): Promise<DataListEntity>;
}
export {};
