import { DynamoIndex, DynamoDefinition } from "@hexlabs/dynamo-ts";
import { Table, TableProperties } from "../../aws/dynamodb/Table";
import { Role } from "../../aws/iam/Role";
import { AWSResourcesFor } from '../aws';
export declare function grantTableAccess(role: Role, policyName: string, tables: Table[]): void;
export declare function dynamoTable<DEFINITION extends DynamoDefinition, PK extends keyof DEFINITION, SK extends Exclude<keyof DEFINITION, PK> | null = null, INDEXES extends Record<string, DynamoIndex<DEFINITION>> = {}>(aws: AWSResourcesFor<'dynamodb'>, definition: {
    definition: DEFINITION;
    partitionKey: PK;
    sortKey: SK;
    indexes: INDEXES;
}, name: string | undefined, props: Omit<TableProperties, 'globalSecondaryIndexes' | 'keySchema' | 'tableName' | 'attributeDefinitions'>): Table;
