import { TokenService } from '@loopback/authentication';
import { Credentials } from '@loopback/authentication-jwt';
import { SchemaObject } from '@loopback/rest';
import { UserProfile } from '@loopback/security';
import { NewUserRequest } from './../models/new-user.model';
import { UserAuthenticationService } from './../services/user-authentication.service';
export declare const CredentialsRequestBody: {
    description: string;
    required: boolean;
    content: {
        'application/json': {
            schema: SchemaObject;
        };
    };
};
export declare class UserController {
    jwtService: TokenService;
    userAuthenticationService: UserAuthenticationService;
    user: UserProfile;
    constructor(jwtService: TokenService, userAuthenticationService: UserAuthenticationService, user: UserProfile);
    login(credentials: Credentials): Promise<{
        token: string;
    }>;
    whoAmI(currentUserProfile: UserProfile): Promise<UserProfile>;
    signUp(newUserRequest: NewUserRequest): Promise<UserProfile>;
}
