import type { ISession } from '../types.js';
export type JatsOptions = {
    jats: string;
    mathml: '2' | '3';
    oasis: boolean;
    library: string;
    directory: string;
};
/**
 * Infer DTD options from file content
 *
 * This looks at DTD file name in DOCTYPE as well as dtd-version in article element
 */
export declare function inferOptions(file: string): Partial<JatsOptions>;
/**
 * Test if xmllint is available as a cli command
 */
export declare function isXmllintAvailable(): string | null;
/**
 * Run xmllint validation
 */
export declare function xmllintValidate(session: Pick<ISession, 'log'>, file: string, dtd: string): Promise<boolean | undefined>;
/**
 * Check if JATS file is valid based on JATS version/library/etc.
 *
 * Returns true if valid and false if invalid.
 */
export declare function validateJatsAgainstDtd(session: ISession, file: string, opts?: Partial<JatsOptions>): Promise<boolean | undefined>;
/**
 * Check if JATS file is valid based on JATS version/library/etc.
 *
 * Logs confirmation message if valid and throws an error if invalid.
 */
export declare function validateJatsAgainstDtdWrapper(session: ISession, file: string, opts?: Partial<JatsOptions>): Promise<void>;
//# sourceMappingURL=dtd.d.ts.map