import { Strategy } from 'passport-jwt';
import { AuthService, EmployeeJwtPayload, JwtPayload } from './auth.service.js';
import { AuthStationService, StationJwtPayload } from './auth-station.service.js';
declare const JwtStrategy_base: new (...args: [opt: import("passport-jwt").StrategyOptionsWithRequest] | [opt: import("passport-jwt").StrategyOptionsWithoutRequest]) => Strategy & {
    validate(...args: any[]): unknown;
};
export declare class JwtStrategy extends JwtStrategy_base {
    private readonly authService;
    private readonly authStationService;
    constructor(authService: AuthService, authStationService: AuthStationService);
    validate(req: any, payload: JwtPayload | StationJwtPayload | EmployeeJwtPayload): Promise<import("../shared/domain.js").User | {
        id: number | undefined;
        employeeId: number | undefined;
        username: string;
        employeeNumber: string;
        fullName: string;
        zoneId: number;
        zoneIds: number[];
        stationId: number | undefined;
        type: string;
        isMobileSupervisor: boolean;
        stationName?: undefined;
    } | {
        id: number | undefined;
        username: string;
        stationId: number | undefined;
        stationName: string;
        zoneId: number;
        type: string;
        employeeId?: undefined;
        employeeNumber?: undefined;
        fullName?: undefined;
        zoneIds?: undefined;
        isMobileSupervisor?: undefined;
    }>;
}
export {};
