import { JwtService } from '@nestjs/jwt';
import { DataStoreService } from '../shared/data-store.service.js';
import { Station } from '../shared/domain.js';
import { TokenBlacklistService } from './token-blacklist.service.js';
export interface StationJwtPayload {
    sub: number;
    username: string;
    stationId: number;
    stationName: string;
    zoneId: number;
    type: 'station';
    iat?: number;
    exp?: number;
}
export interface StationLoginResponse {
    accessToken: string;
    station: {
        id: number;
        name: string;
        zoneId: number;
        username: string;
        latitude?: number;
        longitude?: number;
        geofenceRadiusMeters: number;
    };
}
export declare class AuthStationService {
    private readonly store;
    private readonly jwtService;
    private readonly tokenBlacklist;
    constructor(store: DataStoreService, jwtService: JwtService, tokenBlacklist: TokenBlacklistService);
    validateStation(username: string, password: string): Promise<Station | null>;
    login(username: string, password: string): Promise<StationLoginResponse>;
    logout(token: string): Promise<void>;
    isTokenBlacklisted(token: string): boolean;
    validateToken(payload: StationJwtPayload): Promise<Station | null>;
}
