import 'reflect-metadata';
import ClrMamePro from './clrMamePro.js';
interface HeaderOptions {
    /**
     * "Name of the emulator without a version number. This field is used by the
     * update feature of the CMPro profiler."
     */
    readonly name?: string;
    /**
     * "Name of the emulator with a version number. This is the name displayed by
     * CMPro."
     */
    readonly description?: string;
    /**
     * "General comment about the emulator (e.g. the systems or game types it
     * supports)."
     */
    /**
     * "Version number of the data file. I would recommend using something like a
     * date encoded version number (YYYYMMDD is preferable to DDMMYYYY as it can
     * be sorted and is unambiguous)."
     */
    readonly version?: string;
    readonly date?: string;
    /**
     * "Your name and e-mail/web address."
     */
    readonly author?: string;
    readonly url?: string;
    readonly comment?: string;
    readonly clrMamePro?: ClrMamePro;
}
/**
 * Metadata for a {@link DAT}.
 */
export default class Header implements HeaderOptions {
    readonly name: string;
    readonly description?: string;
    readonly version?: string;
    readonly date?: string;
    readonly author?: string;
    readonly url?: string;
    readonly comment?: string;
    readonly clrMamePro?: ClrMamePro;
    constructor(options?: HeaderOptions);
    /**
     * Create an XML object, to be used by the owning {@link DAT}.
     */
    toXmlDatObj(): object;
    getName(): string;
    getDescription(): string | undefined;
    getVersion(): string | undefined;
    getComment(): string | undefined;
    getClrMamePro(): ClrMamePro | undefined;
    /**
     * Return a string representation of this {@link Header}.
     */
    toString(): string;
}
export {};
