import * as pulumi from "@pulumi/pulumi" ; /**
 * The available types for primary keys. The default primary key type is
 * `string`.
 */ export type PrimaryKeyType = "string" | "number" | "boolean" ; export interface TableConstructor { param name param primaryKey param primaryKeyType param opts new ( name , primaryKey ? , primaryKeyType ? , opts ? ) : Table ; } export let Table ; /**
 * Table is a simple document store for persistent application backend storage.
 *
 * ```javascript
 * let table = new Table("my-table");
 * await table.insert({id: "kuibai", data: 42});
 * let item = await table.get({id: "kuibai"});
 * ```
 *
 * Tables support a single primary key with a user-defined name and type.  All
 * other document properties are schemaless.  If not specified, a primary key
 * named `id` with type `string` is used.
 *
 * All queries provide a subset of properties to filter on, and only filters on
 * value equality are supported.  The `get`, `update` and `delete` operations
 * expect the query to contain only the value for the primary key.
 */ export interface Table { /**
     * The name of the primary key.
     */ readonly primaryKey : pulumi . Output < string > ; /**
     * The type of the primary key.
     */ readonly primaryKeyType : pulumi . Output < string > ; param query returns get ( query ) : Promise < any > ; param item returns insert ( item ) : Promise < void > ; param callback returns scan ( ) : Promise < any [ ] > ; scan ( callback ) : Promise < void > ; param query returns delete ( query ) : Promise < void > ; param query param updates returns update ( query , updates ) : Promise < void > ; }