import { ConformsTo } from './ConformsTo';
import { Contributor } from './Contributor';
import { LanguageMap } from './LanguageMap';
import { Subject } from './Subject';
export interface Metadata extends Contributors {
    identifier?: string;
    '@type'?: string;
    conformsTo?: ConformsTo;
    title: LanguageMap;
    subtitle?: LanguageMap;
    modified?: string;
    published?: {
        [k: string]: unknown;
    } & string;
    /**
     * The language must be a valid BCP 47 tag.
     */
    language?: string | string[];
    sortAs?: LanguageMap;
    subject?: Subject;
    readingProgression?: 'rtl' | 'ltr' | 'ttb' | 'btt' | 'auto';
    description?: string;
    duration?: number;
    numberOfPages?: number;
    belongsTo?: {
        collection?: Contributor;
        series?: Contributor;
        [k: string]: unknown;
    };
    [k: string]: unknown;
}
export interface Contributors {
    author?: Contributor;
    translator?: Contributor;
    editor?: Contributor;
    artist?: Contributor;
    illustrator?: Contributor;
    letterer?: Contributor;
    penciler?: Contributor;
    colorist?: Contributor;
    inker?: Contributor;
    narrator?: Contributor;
    contributor?: Contributor;
    publisher?: Contributor;
    imprint?: Contributor;
}
