/**
 * WABClient
 *
 * Provides high-level methods to:
 *  - Retrieve server info (supported auth methods, faucet info)
 *  - Generate a random presentation key
 *  - Start/Complete authentication with a chosen AuthMethodInteractor
 *  - Link/unlink methods
 *  - Request faucet
 *  - Delete user
 */
import { AuthMethodInteractor } from './auth-method-interactors/AuthMethodInteractor';
export declare class WABClient {
    private serverUrl;
    constructor(serverUrl: string);
    /**
     * Return the WAB server info
     */
    getInfo(): Promise<any>;
    /**
     * Generate a random 256-bit presentation key as a hex string (client side).
     */
    generateRandomPresentationKey(): string;
    /**
     * Start an Auth Method flow
     */
    startAuthMethod(authMethod: AuthMethodInteractor, presentationKey: string, payload: any): Promise<import("./auth-method-interactors/AuthMethodInteractor").StartAuthResponse>;
    /**
     * Complete an Auth Method flow
     */
    completeAuthMethod(authMethod: AuthMethodInteractor, presentationKey: string, payload: any): Promise<import("./auth-method-interactors/AuthMethodInteractor").CompleteAuthResponse>;
    /**
     * List user-linked methods
     */
    listLinkedMethods(presentationKey: string): Promise<any>;
    /**
     * Unlink a given Auth Method by ID
     */
    unlinkMethod(presentationKey: string, authMethodId: number): Promise<any>;
    /**
     * Request faucet
     */
    requestFaucet(presentationKey: string): Promise<any>;
    /**
     * Delete user
     */
    deleteUser(presentationKey: string): Promise<any>;
}
//# sourceMappingURL=WABClient.d.ts.map