/**
 * Instructs PowerSync to sync data into a "raw" table.
 *
 * Since raw tables are not backed by JSON, running complex queries on them may be more efficient. Further, they allow
 * using client-side table and column constraints.
 *
 * To collect local writes to raw tables with PowerSync, custom triggers are required. See
 * {@link https://docs.powersync.com/usage/use-case-examples/raw-tables the documentation} for details and an example on
 * using raw tables.
 *
 * Note that raw tables are only supported when using the new `SyncClientImplementation.rust` sync client.
 *
 * @experimental Please note that this feature is experimental at the moment, and not covered by PowerSync semver or
 * stability guarantees.
 */
export class RawTable {
    /**
     * The name of the table.
     *
     * This does not have to match the actual table name in the schema - {@link put} and {@link delete} are free to use
     * another table. Instead, this name is used by the sync client to recognize that operations on this table (as it
     * appears in the source / backend database) are to be handled specially.
     */
    name;
    put;
    delete;
    constructor(name, type) {
        this.name = name;
        this.put = type.put;
        this.delete = type.delete;
    }
}
//# sourceMappingURL=RawTable.js.map