/**
 * Errors raised by TS introspection.
 *
 * Each error carries:
 *   - the file being analysed (`sourceFile`)
 *   - line/column when available
 *   - a stack of contexts describing the location in the structure
 *   - actionable hint about how to fix the source
 *
 * These propagate to the CLI without being caught — the whole point
 * of the strict model is to surface unknown shapes loudly.
 */
export type IntrospectionErrorOptions = {
    sourceFile?: string;
    line?: number;
    column?: number;
    context?: string[];
    hint?: string;
};
export declare class IntrospectionError extends Error {
    sourceFile?: string;
    line?: number;
    column?: number;
    context: string[];
    hint?: string;
    constructor(message: string, opts?: IntrospectionErrorOptions);
    /** Push a context frame and return self (for try/catch rethrow). */
    withContext(frame: string): IntrospectionError;
    private bareMessage;
}
export declare const errorOptsFromNode: (sourceFile: any, node: any) => IntrospectionErrorOptions;
//# sourceMappingURL=errors.d.ts.map