import { HelixFollow, HelixUser } from 'twitch';
export declare const UserResolvers: {
    Query: {
        getUserByDisplayName(_parent: {}, args: {
            displayName: string;
        }, { user_id, secret, refresh_token }: Partial<GraphQLModules.ModuleContext>): Promise<HelixUser | null>;
        getUserById(_parent: {}, args: {
            userId: string;
        }, { user_id, secret, refresh_token }: Partial<GraphQLModules.ModuleContext>): Promise<HelixUser | null>;
    };
    User: {
        displayName(user: HelixUser): string;
        description(user: HelixUser): string;
        id(user: HelixUser): string;
        profilePictureURL(user: HelixUser): string;
        views(user: HelixUser): number;
        getFollowToId(user: HelixUser, args: {
            userId: string;
        }): Promise<HelixFollow | null>;
        getFollowToDisplayName(user: HelixUser, args: {
            displayName: string;
        }, { user_id, secret, refresh_token }: Partial<GraphQLModules.ModuleContext>): Promise<HelixFollow | null>;
        followsId(user: HelixUser, args: {
            userId: string;
        }): Promise<boolean>;
        followsDisplayName(user: HelixUser, args: {
            displayName: string;
        }, { user_id, secret, refresh_token }: Partial<GraphQLModules.ModuleContext>): Promise<boolean>;
        follows(user: HelixUser, args: {
            maxPages: number;
        }, { user_id, secret, refresh_token }: Partial<GraphQLModules.ModuleContext>): Promise<{
            nodes: HelixFollow[];
            cursor: string | undefined;
            total: number;
        }>;
    };
    Follow: {
        followDate(follow: HelixFollow): string;
        followDateUTC(follow: HelixFollow): Date;
        followerUser(follow: HelixFollow): Promise<HelixUser | null>;
        followedUser(follow: HelixFollow): Promise<HelixUser | null>;
    };
};
export declare const UserSchema: import("graphql").DocumentNode;
export declare const UserModule: import("graphql-modules").Module;
