import { User } from "../../realms/AdminRealm";
import { AuthProvider } from "../AuthProvider";
export interface JwtAuthProviderConfig {
    publicKey: string;
    userIdFieldName?: string;
    isAdminFieldName?: string;
    isAdminValue?: any;
    providerName?: string;
    requiredAttributes?: {
        [key: string]: any;
    };
    charactersToEscape?: string[];
    clockTolerance?: number;
    isAdminQuery?: {
        path: string;
        value: any;
    };
    requiredClaims?: {
        [path: string]: any;
    };
}
export declare class JwtAuthProvider extends AuthProvider {
    name: string;
    private readonly publicKey;
    private readonly userIdFieldName;
    private readonly isAdminQuery;
    private readonly requiredClaims;
    private readonly charactersToEscape;
    private readonly clockTolerance;
    constructor(config: JwtAuthProviderConfig);
    authenticateOrCreateUser(body: any): Promise<User>;
    private escapeUserId;
    private verifyAndDecode;
}
