import * as drizzle_orm from 'drizzle-orm';
import * as drizzle_orm_mysql_core from 'drizzle-orm/mysql-core';
import { MySqlTableFn } from 'drizzle-orm/mysql-core';

declare function getUsersSchema(mysqlTable: MySqlTableFn): drizzle_orm_mysql_core.MySqlTableWithColumns<{
    name: "User";
    schema: undefined;
    columns: {
        id: drizzle_orm_mysql_core.MySqlColumn<{
            name: "id";
            tableName: "User";
            dataType: "string";
            columnType: "MySqlVarChar";
            data: string;
            driverParam: string | number;
            notNull: true;
            hasDefault: false;
            isPrimaryKey: true;
            isAutoincrement: false;
            hasRuntimeDefault: false;
            enumValues: [string, ...string[]];
            baseColumn: never;
            generated: undefined;
        }, object>;
        name: drizzle_orm_mysql_core.MySqlColumn<{
            name: "name";
            tableName: "User";
            dataType: "string";
            columnType: "MySqlVarChar";
            data: string;
            driverParam: string | number;
            notNull: false;
            hasDefault: false;
            isPrimaryKey: false;
            isAutoincrement: false;
            hasRuntimeDefault: false;
            enumValues: [string, ...string[]];
            baseColumn: never;
            generated: undefined;
        }, object>;
        role: drizzle_orm_mysql_core.MySqlColumn<{
            name: "role";
            tableName: "User";
            dataType: "string";
            columnType: "MySqlVarChar";
            data: string;
            driverParam: string | number;
            notNull: true;
            hasDefault: true;
            isPrimaryKey: false;
            isAutoincrement: false;
            hasRuntimeDefault: false;
            enumValues: [string, ...string[]];
            baseColumn: never;
            generated: undefined;
        }, object>;
        email: drizzle_orm_mysql_core.MySqlColumn<{
            name: "email";
            tableName: "User";
            dataType: "string";
            columnType: "MySqlVarChar";
            data: string;
            driverParam: string | number;
            notNull: true;
            hasDefault: false;
            isPrimaryKey: false;
            isAutoincrement: false;
            hasRuntimeDefault: false;
            enumValues: [string, ...string[]];
            baseColumn: never;
            generated: undefined;
        }, object>;
        fields: drizzle_orm_mysql_core.MySqlColumn<{
            name: "fields";
            tableName: "User";
            dataType: "json";
            columnType: "MySqlJson";
            data: Record<string, any>;
            driverParam: string;
            notNull: false;
            hasDefault: true;
            isPrimaryKey: false;
            isAutoincrement: false;
            hasRuntimeDefault: false;
            enumValues: undefined;
            baseColumn: never;
            generated: undefined;
        }, object>;
        emailVerified: drizzle_orm_mysql_core.MySqlColumn<{
            name: "emailVerified";
            tableName: "User";
            dataType: "date";
            columnType: "MySqlTimestamp";
            data: Date;
            driverParam: string | number;
            notNull: false;
            hasDefault: false;
            isPrimaryKey: false;
            isAutoincrement: false;
            hasRuntimeDefault: false;
            enumValues: undefined;
            baseColumn: never;
            generated: undefined;
        }, object>;
        image: drizzle_orm_mysql_core.MySqlColumn<{
            name: "image";
            tableName: "User";
            dataType: "string";
            columnType: "MySqlVarChar";
            data: string;
            driverParam: string | number;
            notNull: false;
            hasDefault: false;
            isPrimaryKey: false;
            isAutoincrement: false;
            hasRuntimeDefault: false;
            enumValues: [string, ...string[]];
            baseColumn: never;
            generated: undefined;
        }, object>;
        createdAt: drizzle_orm_mysql_core.MySqlColumn<{
            name: "createdAt";
            tableName: "User";
            dataType: "date";
            columnType: "MySqlTimestamp";
            data: Date;
            driverParam: string | number;
            notNull: false;
            hasDefault: true;
            isPrimaryKey: false;
            isAutoincrement: false;
            hasRuntimeDefault: false;
            enumValues: undefined;
            baseColumn: never;
            generated: undefined;
        }, object>;
    };
    dialect: "mysql";
}>;
declare function getUsersRelationsSchema(mysqlTable: MySqlTableFn): drizzle_orm.Relations<"User", {
    profiles: drizzle_orm.Many<"Profile">;
    accounts: drizzle_orm.Many<"Account">;
    purchases: drizzle_orm.Many<"Purchase">;
    communicationPreferences: drizzle_orm.Many<"CommunicationPreference">;
    roles: drizzle_orm.Many<"UserRole">;
    userPermissions: drizzle_orm.Many<"UserPermission">;
    contributions: drizzle_orm.Many<"ContentContribution">;
    createdContent: drizzle_orm.Many<"ContentResource">;
    comments: drizzle_orm.Many<"Comment">;
    prefs: drizzle_orm.Many<"UserPrefs">;
    organizationMemberships: drizzle_orm.Many<"OrganizationMembership">;
}>;

export { getUsersRelationsSchema, getUsersSchema };
