import type { Response } from 'express';
import type { IAuthRequest } from '../../unleash-types.js';
import Controller from '../../controller.js';
import { type IUnleashConfig } from '../../../types/option.js';
import type { IUnleashServices } from '../../../services/index.js';
import { type MeSchema } from '../../../openapi/spec/me-schema.js';
import type { PasswordSchema } from '../../../openapi/spec/password-schema.js';
import { type ProfileSchema } from '../../../openapi/spec/profile-schema.js';
import { type RolesSchema } from '../../../openapi/spec/roles-schema.js';
declare class UserController extends Controller {
    private accessService;
    private userService;
    private userFeedbackService;
    private userSplashService;
    private openApiService;
    private projectService;
    private flagResolver;
    private userSubscriptionsService;
    private readonly logger;
    constructor(config: IUnleashConfig, { accessService, userService, userFeedbackService, userSplashService, openApiService, projectService, transactionalUserSubscriptionsService, }: Pick<IUnleashServices, 'accessService' | 'userService' | 'userFeedbackService' | 'userSplashService' | 'openApiService' | 'projectService' | 'transactionalUserSubscriptionsService'>);
    getRoles(req: IAuthRequest, res: Response<RolesSchema>): Promise<void>;
    getMe(req: IAuthRequest, res: Response<MeSchema>): Promise<void>;
    getProfile(req: IAuthRequest, res: Response<ProfileSchema>): Promise<void>;
    changeMyPassword(req: IAuthRequest<unknown, unknown, PasswordSchema>, res: Response): Promise<void>;
}
export default UserController;
//# sourceMappingURL=user.d.ts.map