import { UserRole } from '../common/constants/enums';
export declare function parseClientRole(role?: string): UserRole | undefined;
export declare function resolveStoredRole(role: string): UserRole;
export declare function toClientRole(role: UserRole): string;
export type NormalizedCreateUserInput = {
    email: string;
    password: string;
    fullName: string;
    employeeCode: string;
    role?: UserRole;
    mobileNumber: string;
    sittingLocation?: string;
    reportingManagerRef?: string;
    deviceId?: string;
    profileImage?: string;
};
export declare function normalizeCreateUserInput(body: Record<string, unknown>): NormalizedCreateUserInput;
export type ManagerSummary = {
    id: string;
    uid: string;
    fullName: string;
    name?: string;
    employeeCode: string;
    role: UserRole;
} | null;
type UserNameSource = {
    fullName?: string | null;
    name?: string | null;
};
export declare function resolveUserDisplayName(user: UserNameSource): string | null;
export declare function toClientUser(user: {
    _id?: {
        toString(): string;
    };
    id?: string;
    uid: string;
    email: string;
    fullName?: string;
    name?: string;
    employeeCode: string;
    role: UserRole;
    mobileNumber?: string;
    sittingLocation?: string;
    reportingManagerId?: string;
    deviceId?: string;
    profileImage?: string;
    status?: string;
    presence?: string;
    createdAt?: Date;
    updatedAt?: Date;
}, manager?: ManagerSummary): {
    id: string;
    uid: string;
    email: string;
    name: string | null;
    fullName: string | null;
    employeeCode: string;
    role: string;
    mobile: string | null;
    mobileNumber: string | null;
    sitingLocation: string | null;
    sittingLocation: string | null;
    reportingManagerId: string | null;
    reportingManagerName: string | null;
    reportingManager: ManagerSummary | undefined;
    deviceId: string | null;
    profileImage: string | null;
    status: string | null;
    presence: string | null;
    createdAt: Date | null;
    updatedAt: Date | null;
};
export declare function toTripCreatorUser(clientUser: ReturnType<typeof toClientUser>): {
    uid: string;
    name: string | null;
    employeeCode: string;
    email: string;
    mobile: string | null;
    role: string;
    reportingManagerName: string | null;
};
export {};
