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 getPurchaseUserTransferSchema(mysqlTable: MySqlTableFn): drizzle_orm_mysql_core.MySqlTableWithColumns<{
    name: "PurchaseUserTransfer";
    schema: undefined;
    columns: {
        id: drizzle_orm_mysql_core.MySqlColumn<{
            name: "id";
            tableName: "PurchaseUserTransfer";
            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>;
        transferState: drizzle_orm_mysql_core.MySqlColumn<{
            name: "transferState";
            tableName: "PurchaseUserTransfer";
            dataType: "string";
            columnType: "MySqlEnumColumn";
            data: "AVAILABLE" | "INITIATED" | "VERIFIED" | "CANCELED" | "EXPIRED" | "CONFIRMED" | "COMPLETED";
            driverParam: string;
            notNull: true;
            hasDefault: true;
            isPrimaryKey: false;
            isAutoincrement: false;
            hasRuntimeDefault: false;
            enumValues: ["AVAILABLE", "INITIATED", "VERIFIED", "CANCELED", "EXPIRED", "CONFIRMED", "COMPLETED"];
            baseColumn: never;
            generated: undefined;
        }, object>;
        purchaseId: drizzle_orm_mysql_core.MySqlColumn<{
            name: "purchaseId";
            tableName: "PurchaseUserTransfer";
            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>;
        organizationId: drizzle_orm_mysql_core.MySqlColumn<{
            name: "organizationId";
            tableName: "PurchaseUserTransfer";
            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>;
        sourceUserId: drizzle_orm_mysql_core.MySqlColumn<{
            name: "sourceUserId";
            tableName: "PurchaseUserTransfer";
            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>;
        targetUserId: drizzle_orm_mysql_core.MySqlColumn<{
            name: "targetUserId";
            tableName: "PurchaseUserTransfer";
            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: "PurchaseUserTransfer";
            dataType: "date";
            columnType: "MySqlTimestamp";
            data: Date;
            driverParam: string | number;
            notNull: true;
            hasDefault: true;
            isPrimaryKey: false;
            isAutoincrement: false;
            hasRuntimeDefault: false;
            enumValues: undefined;
            baseColumn: never;
            generated: undefined;
        }, object>;
        expiresAt: drizzle_orm_mysql_core.MySqlColumn<{
            name: "expiresAt";
            tableName: "PurchaseUserTransfer";
            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>;
        canceledAt: drizzle_orm_mysql_core.MySqlColumn<{
            name: "canceledAt";
            tableName: "PurchaseUserTransfer";
            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>;
        confirmedAt: drizzle_orm_mysql_core.MySqlColumn<{
            name: "confirmedAt";
            tableName: "PurchaseUserTransfer";
            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>;
        completedAt: drizzle_orm_mysql_core.MySqlColumn<{
            name: "completedAt";
            tableName: "PurchaseUserTransfer";
            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>;
    };
    dialect: "mysql";
}>;
declare function getPurchaseUserTransferRelationsSchema(mysqlTable: MySqlTableFn): drizzle_orm.Relations<"PurchaseUserTransfer", {
    sourceUser: drizzle_orm.One<"User", true>;
    targetUser: drizzle_orm.One<"User", false>;
    purchase: drizzle_orm.One<"Purchase", true>;
}>;

export { getPurchaseUserTransferRelationsSchema, getPurchaseUserTransferSchema };
