import type { PmUser, PmSession } from '../../../domain/generated/output.js';
import type { IPmUserRepository } from '../../ports/output/repositories/pm-user-repository.interface.js';
import type { IPmSessionRepository } from '../../ports/output/repositories/pm-session-repository.interface.js';
export interface LoginUserInput {
    email: string;
    password: string;
}
export type LoginUserResult = {
    ok: true;
    session: PmSession;
    user: Omit<PmUser, 'passwordHash'>;
} | {
    ok: false;
    error: string;
};
export declare class LoginUserUseCase {
    private readonly userRepo;
    private readonly sessionRepo;
    constructor(userRepo: IPmUserRepository, sessionRepo: IPmSessionRepository);
    execute(input: LoginUserInput): Promise<LoginUserResult>;
}
//# sourceMappingURL=login-user.use-case.d.ts.map