import type { SubModelType } from '../types';
import type { PictFactorsType, PictModelIssue } from './types';
import { PictConstraintsLexer } from './constraints';
export interface ParseOptions {
    /** Match constraint comparisons and alias lookups case-insensitively. Default: true. */
    caseInsensitive?: boolean;
}
export interface ParseResult {
    factors: PictFactorsType;
    aliases: Map<string, string>;
    negatives: Map<string, Set<string | number>>;
    weights: {
        [factorKey: string]: {
            [index: number]: number;
        };
    };
    subModels: SubModelType[];
    lexer: PictConstraintsLexer | null;
    issues: PictModelIssue[];
}
/**
 * Parse a PICT-format model string into its constituent parts: parameters,
 * sub-models, and constraints. Issues are collected rather than thrown so the
 * caller can decide how to handle them.
 */
export declare function parse(input: string, options?: ParseOptions): ParseResult;
