export type Role = 'admin' | 'operator' | 'viewer';
export interface AuthTokenPayload {
    userId: string;
    username: string;
    role: Role;
    tenantId?: string;
    deviceIds: string[];
    iat?: number;
    exp?: number;
}
export interface DeviceBinding {
    userId: string;
    deviceId: string;
    boundAt: string;
}
export interface LoginReq {
    username: string;
    password: string;
}
export interface LoginResp {
    accessToken: string;
    refreshToken: string;
    payload: AuthTokenPayload;
}
export interface RefreshReq {
    refreshToken: string;
}
