export { type UserRole, type UserRecord, type ApiKeyRecord } from '../schemas/auth-records.js';
export interface UserPermissions {
    role: import('../schemas/auth-records.js').UserRole;
    allowedProviders: string[] | '*';
    allowedDevices: Record<string, string[] | '*'>;
}
export interface TokenPayload {
    type?: 'api_key' | 'service';
    keyId?: string;
    userId?: string;
    username?: string;
    role: import('../schemas/auth-records.js').UserRole;
    agentId?: string;
    allowedProviders: string[] | '*';
    allowedDevices: Record<string, string[] | '*'>;
    iat?: number;
    exp?: number;
}
export interface AuthenticatedUser {
    id: string;
    username: string;
    role: import('../schemas/auth-records.js').UserRole;
    permissions: UserPermissions;
    isApiKey: boolean;
}
//# sourceMappingURL=auth.d.ts.map