import { DynamoDBClient } from '@aws-sdk/client-dynamodb';
import { DDBClientConfiguration } from './DDBClient.ts';
export interface DDBReadOnlyClientConfiguration<Item extends {}, PKName extends keyof Item, SKName extends keyof Item | never = never> extends DDBClientConfiguration<Item, PKName, SKName> {
    indexName?: string;
}
export declare class DDBReadOnlyClient<Item extends {}, PKName extends keyof Item, SKName extends keyof Item | never = never> {
    protected config: DDBReadOnlyClientConfiguration<Item, PKName, SKName>;
    protected client: DynamoDBClient;
    constructor(config: DDBReadOnlyClientConfiguration<Item, PKName, SKName>);
    getItem(partitionKey: Item[PKName], sortKey?: Item[SKName]): Promise<Item | null>;
    getItems(partitionKey: Item[PKName], sortKeyPrefix?: string): Promise<Item[]>;
    private extractItems;
    protected requireFullPrimaryKey(partitionKey: any, sortKey: any | undefined): void;
}
