import type { IFIXParser, Logger } from 'fixparser';
import type { IPlugin } from 'fixparser-common';
import type { VerifiedOrder } from './schemas/index.ts';
import type { MarketDataPrices, PendingRequests } from './utils/messageHandler.ts';
export declare abstract class MCPBase implements IPlugin<IFIXParser> {
    /**
     * Optional logger instance for diagnostics and output.
     * @protected
     */
    protected logger: Logger | undefined;
    /**
     * FIXParser instance, set during plugin register().
     * @protected
     */
    protected parser: IFIXParser | undefined;
    /**
     * Called when server is setup and listening.
     * @protected
     */
    protected onReady: (() => void) | undefined;
    /**
     * Map to store verified orders before execution
     * @protected
     */
    protected verifiedOrders: Map<string, VerifiedOrder>;
    /**
     * Map to store pending market data requests
     * @protected
     */
    protected pendingRequests: PendingRequests;
    /**
     * Map to store market data prices
     * @protected
     */
    protected marketDataPrices: MarketDataPrices;
    /**
     * Maximum number of price history entries to keep per symbol
     * @protected
     */
    protected readonly MAX_PRICE_HISTORY = 100000;
    constructor({ logger, onReady }: {
        logger?: Logger;
        onReady?: () => void;
    });
    abstract register(parser: IFIXParser): Promise<void>;
}
