import { Mintblue } from '../mintblue.js';
import { Reader, ActionDispatcher } from './types.js';
/**
 * Implementation of the Reader interface for the Mintblue SDK.
 * This class facilitates listening to transaction events using Mintblue and dispatching them accordingly.
 *
 * @category Machine
 */
export declare class MintblueReader implements Reader {
    private actionDispatcher;
    private mintblue;
    private project_id;
    /**
     * Factory method to create an instance of the MintblueReader.
     * @param sdkToken - The token for the Mintblue SDK.
     * @param project_id - The ID of the project to listen to.
     * @returns An instance of MintblueReader.
     */
    static create(sdkToken: string, project_id: string): Promise<MintblueReader>;
    /**
     * Constructs a MintblueReader.
     * @param mintblue - The Mintblue instance.
     * @param project_id - The ID of the project to listen to.
     */
    constructor(mintblue: Mintblue, project_id: string);
    /**
     * Initializes the action dispatcher.
     * @param actionDispatcher - The function to dispatch actions.
     */
    initialize(actionDispatcher: ActionDispatcher): void;
    /**
     * Starts the reader to begin listening for Mintblue project events.
     */
    start(lastActionId?: string): void;
    /**
     * Parses a Mintblue transaction into a standardized action.
     * @param tx - The Mintblue transaction.
     * @returns An action or null if parsing is unsuccessful.
     */
    private parseTransactionIntoAction;
    /**
     * Stops the reader from listening to events. (Implementation may be added in the future)
     */
    stop(): void;
}
