import type { Message } from '../message/Message.ts';
import { MessageType } from '../messagetype/MessageType.ts';
import { type ISpecFields } from '../spec/SpecFields.ts';
import { Categories } from './categories/Categories.ts';
import { DataTypes } from './datatypes/Datatypes.ts';
import type { Field } from './Field.ts';
import { Sections } from './sections/Sections.ts';
/**
 * Fields class manages the collection of FIX fields and their processing.
 * It maintains a cache of field definitions and provides methods to process
 * fields within FIX messages.
 *
 * @public
 */
export declare class Fields {
    /** Array of all FIX field specifications */
    fields: ISpecFields[];
    /** Cache map for quick field lookup by tag number */
    cacheMap: Map<number, ISpecFields>;
    /** Message type processor */
    messageType: MessageType;
    /** Categories processor */
    categories: Categories;
    /** Sections processor */
    sections: Sections;
    /** Data types processor */
    dataTypes: DataTypes;
    /**
     * Creates a new Fields instance and initializes the cache map
     * with all available field specifications.
     */
    constructor();
    /**
     * Processes a field within a message, setting its properties based on
     * the field specification. This includes setting the name, description,
     * category, section, and data type of the field.
     *
     * @param {Message} message - The FIX message containing the field
     * @param {Field} field - The field to process
     */
    processField(message: Message, field: Field): void;
}
