/**
 * Autogenerated, do not modify
 */
import { IDatabaseColumn, IDatabaseSchema } from "./mysql-database-definition";
export declare abstract class SchemaOperator {
    protected definition: IDatabaseSchema;
    /**
     * Return a copy of the object without any primary keys
     */
    protected removePrimaryKeys<T>(tableName: string, data: T): T;
    protected retainPrimaryKeys<T>(tableName: string, data: T): T;
    protected getPkCols(tableName: string): IDatabaseColumn[];
    /**
     * return a new object where with only attributes that have
     * a corresponding column for given table
     * @param table
     * @param data
     */
    protected stripNoneBelonging<T>(tableName: string, data: T): T;
    /**
     * List the names of all primary keys in a table
     * @param tableName
     */
    protected getPrimaryKeyNames(tableName: string): string[];
}
