import { PaymentProviderCustomer, User, UserAddress, UserOAuth2Account, MetadataProperty } from '@prisma/client';
export declare const hashPassword: (password: string, bcryptHashCostFactor?: number) => Promise<string>;
export declare const generateSecureRandomPassword: (length: number) => string;
export declare enum UserSort {
    CreatedAt = "createdAt",
    ModifiedAt = "modifiedAt",
    Name = "name",
    FirstName = "firstName"
}
export interface UserFilter {
    readonly name?: string;
    readonly text?: string;
    readonly userRole?: string[];
}
export type UserWithRelations = User & {
    address: UserAddress | null;
    properties: MetadataProperty[];
    oauth2Accounts: UserOAuth2Account[];
    paymentProviderCustomers: PaymentProviderCustomer[];
};
