import type { LTUserRecord, LTRoleType, LTUserStatus } from '../../types';
import type { CreateUserInput, UpdateUserInput } from './types';
export declare function attachRoles(user: any): Promise<LTUserRecord>;
export declare function createUser(input: CreateUserInput): Promise<LTUserRecord>;
export declare function getUser(id: string): Promise<LTUserRecord | null>;
export declare function getUserByExternalId(externalId: string): Promise<LTUserRecord | null>;
export declare function getUserByEmail(email: string): Promise<LTUserRecord | null>;
export declare function updateUser(id: string, input: UpdateUserInput): Promise<LTUserRecord | null>;
export declare function deleteUser(id: string): Promise<boolean>;
export declare function listUsers(filters: {
    role?: string;
    roleType?: LTRoleType;
    status?: LTUserStatus;
    limit?: number;
    offset?: number;
}): Promise<{
    users: LTUserRecord[];
    total: number;
}>;
