import type { PmUser } 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 type ValidateSessionResult = {
    ok: true;
    user: Omit<PmUser, 'passwordHash'>;
} | {
    ok: false;
    error: string;
};
export declare class ValidateSessionUseCase {
    private readonly userRepo;
    private readonly sessionRepo;
    constructor(userRepo: IPmUserRepository, sessionRepo: IPmSessionRepository);
    execute(sessionToken: string): Promise<ValidateSessionResult>;
}
//# sourceMappingURL=validate-session.use-case.d.ts.map