import { Actor, SerializedActor } from "./actor";
import { Album, SerializedAlbum } from "./album";
import { Artist, SerializedArtist } from "./artist";
import { Episode, SerializedEpisode } from "./episode";
import { Movie, SerializedMovie } from "./movie";
import { SerializedShow, Show } from "./show";
export declare type SerializedContentRating<T extends {
    contentRating: string;
}> = Omit<T, "contentRating"> & {
    content_rating: string;
};
export declare type SerializedTitle<T extends {
    sortTitle: string;
    originalTitle: string[];
}> = Omit<T, "sortTitle" | "originalTitle"> & {
    sort_title: string;
    original_title: string[];
};
export declare type SerializedSeasonSummary<T extends {
    seasonSummary: {
        [key: number]: string;
    };
}> = Omit<T, "seasonSummary"> & {
    season_summary: {
        [key: number]: string;
    };
};
export declare const mapSerializedContentRating: <T extends {
    contentRating: string;
}>(data: T) => SerializedContentRating<T>;
export declare const mapSerializedTitle: <T extends {
    sortTitle: string;
    originalTitle: string[];
}>(data: T) => SerializedTitle<T>;
export declare const mapSerializedSeasonSummary: <T extends {
    seasonSummary: {
        [key: number]: string;
    };
}>(data: T) => SerializedSeasonSummary<T>;
export declare const mapContentRating: <T extends {
    contentRating: string;
}>(data: SerializedContentRating<T>) => T;
export declare const mapTitle: <T extends {
    sortTitle: string;
    originalTitle: string[];
}>(data: SerializedTitle<T>) => T;
export declare const mapSeasonSummary: <T extends {
    seasonSummary: {
        [key: number]: string;
    };
}>(data: SerializedSeasonSummary<T>) => T;
export declare type Model = Episode | Actor | Album | Artist | Movie | Show;
export declare type SerializedModel = SerializedEpisode | SerializedActor | SerializedAlbum | SerializedArtist | SerializedMovie | SerializedShow;
