import { type ISpecComponents } from '../spec/SpecComponents.ts';
/**
 * Class for managing FIX protocol components.
 * Provides functionality to find and process FIX components,
 * including looking up components by ID or name and retrieving
 * associated field tags.
 */
export declare class Components {
    /** Array of all available component specifications */
    components: ISpecComponents[];
    /** Cache map for looking up components by ID */
    cacheMap: Map<number, ISpecComponents>;
    /** Cache map for looking up components by name */
    cacheMapByName: Map<string, ISpecComponents>;
    /**
     * Creates a new Components instance and initializes the cache maps
     * with all available component specifications.
     */
    constructor();
    /**
     * Finds a component by its ID.
     *
     * @param {number} componentId - The ID of the component to find
     * @returns {ISpecComponents | undefined} The found component, or undefined if not found
     */
    find(componentId: number): ISpecComponents | undefined;
    /**
     * Finds a component by its name.
     *
     * @param {string} name - The name of the component to find
     * @returns {ISpecComponents | undefined} The found component, or undefined if not found
     */
    findByName(name: string): ISpecComponents | undefined;
    /**
     * Gets all field tags associated with a component by its name.
     *
     * @param {string} name - The name of the component
     * @returns {number[]} An array of field tag numbers associated with the component
     */
    getTagsByComponentName(name: string): number[];
}
