import { Context } from '../../context';
import { PrismaClient } from '@prisma/client';
import { UserFilter, UserSort } from '../../db/user';
import { SortOrder } from "../../../../utils-api/src";
export declare const getMe: (authenticate: Context['authenticate']) => import("@prisma/client/runtime/library").GetResult<{
    id: string;
    createdAt: Date;
    modifiedAt: Date;
    email: string;
    emailVerifiedAt: Date;
    name: string;
    firstName: string;
    preferredName: string;
    flair: string;
    password: string;
    active: boolean;
    lastLogin: Date;
    roleIDs: string[];
    userImageID: string;
}, unknown> & {};
export declare const getUserById: (id: string, authenticate: Context['authenticate'], user: PrismaClient['user']) => import(".prisma/client").Prisma.Prisma__UserClient<{
    name: string;
    id: string;
    createdAt: Date;
    modifiedAt: Date;
    firstName: string;
    email: string;
    emailVerifiedAt: Date;
    preferredName: string;
    flair: string;
    password: string;
    active: boolean;
    lastLogin: Date;
    roleIDs: string[];
    userImageID: string;
    address: import("@prisma/client/runtime/library").GetResult<{
        createdAt: Date;
        modifiedAt: Date;
        company: string;
        streetAddress: string;
        streetAddress2: string;
        zipCode: string;
        city: string;
        country: string;
        userId: string;
    }, unknown> & {};
    properties: (import("@prisma/client/runtime/library").GetResult<{
        id: string;
        createdAt: Date;
        modifiedAt: Date;
        key: string;
        value: string;
        public: boolean;
        articleRevisionId: string;
        pageRevisionId: string;
        subscriptionId: string;
        userId: string;
    }, unknown> & {})[];
    oauth2Accounts: (import("@prisma/client/runtime/library").GetResult<{
        id: string;
        createdAt: Date;
        modifiedAt: Date;
        type: string;
        provider: string;
        providerAccountId: string;
        refreshToken: string;
        accessToken: string;
        expiresAt: number;
        tokenType: string;
        scope: string;
        idToken: string;
        oauthTokenSecret: string;
        oauthToken: string;
        sessionState: string;
        userId: string;
    }, unknown> & {})[];
    paymentProviderCustomers: (import("@prisma/client/runtime/library").GetResult<{
        id: string;
        createdAt: Date;
        modifiedAt: Date;
        paymentProviderID: string;
        customerID: string;
        userId: string;
    }, unknown> & {})[];
}, null, import("@prisma/client/runtime/library").DefaultArgs>;
export declare const getAdminUsers: (filter: Partial<UserFilter>, sortedField: UserSort, order: SortOrder, cursorId: string | null, skip: number, take: number, authenticate: Context['authenticate'], user: PrismaClient['user']) => Promise<import("../../..").ConnectionResult<import("../../db/user").UserWithRelations>>;
