import { type Options, VFileMessage } from 'vfile-message';
import { Directive, type Message } from './events.js';
/**
 * A model for `DEPENDS.txt`.
 * The key `undefined` corresponds to the top-level package.
 */
export type DependsTxt = Map<string | void, {
    [Directive.Hard]?: Set<string>;
    [Directive.Soft]?: Set<string>;
}>;
export declare function deserialize(input: string, options?: Readonly<DeserializeOptions>): DependsTxt;
export interface DeserializeOptions {
    /** @defaultValue `false` */
    strict?: boolean;
}
export declare class ParseError extends VFileMessage implements Omit<ParseErrorOptions, 'cause'> {
    ruleId: Message['ruleId'];
    fatal: Message['fatal'];
    constructor(reason: string | undefined, options: Readonly<ParseErrorOptions>);
    get name(): string;
    get [Symbol.toStringTag](): string;
}
export interface ParseErrorOptions extends Omit<Options, 'ruleId'>, Omit<Message, 'place' | 'actual' | 'expected'>, Pick<Partial<VFileMessage>, 'actual' | 'expected'> {
}
