/// <reference types="node" />
import type { Options } from './ecmarkup';
import Clause from './Clause';
export default interface Spec {
    spec: this;
    opts: Options;
    rootPath: string;
    rootDir: string;
    namespace: string;
    exportBiblio(): any;
    generatedFiles: Map<string | null, string | Buffer>;
}
export type Warning = {
    type: 'global';
    ruleId: string;
    message: string;
} | {
    type: 'node';
    node: Text | Element;
    ruleId: string;
    message: string;
} | {
    type: 'attr';
    node: Element;
    attr: string;
    ruleId: string;
    message: string;
} | {
    type: 'attr-value';
    node: Element;
    attr: string;
    ruleId: string;
    message: string;
} | {
    type: 'contents';
    node: Text | Element;
    ruleId: string;
    message: string;
    nodeRelativeLine: number;
    nodeRelativeColumn: number;
} | {
    type: 'raw';
    ruleId: string;
    message: string;
    line: number;
    column: number;
    file?: string;
    source?: string;
};
export type WorklistItem = {
    aoid: string | null;
    effects: string[];
};
export declare function maybeAddClauseToEffectWorklist(effectName: string, clause: Clause, worklist: WorklistItem[]): void;
