/**
 * Commander Spellbook API
 * API for Commander Spellbook, the combo database engine for Magic: The Gathering
 *
 * The version of the OpenAPI document: 5.4.10
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import type { ColorEnum } from './ColorEnum.js';
import type { FeatureOfCard } from './FeatureOfCard.js';
import type { LayoutRotationEnum } from './LayoutRotationEnum.js';
import type { CardLegalities } from './CardLegalities.js';
import type { CardPrices } from './CardPrices.js';
/**
 *
 * @export
 * @interface CardDetail
 */
export interface CardDetail {
    /**
     *
     * @type {number}
     * @memberof CardDetail
     */
    readonly id: number;
    /**
     *
     * @type {string}
     * @memberof CardDetail
     */
    name: string;
    /**
     *
     * @type {string}
     * @memberof CardDetail
     */
    oracleId: string | null;
    /**
     *
     * @type {ColorEnum}
     * @memberof CardDetail
     */
    identity: ColorEnum;
    /**
     *
     * @type {number}
     * @memberof CardDetail
     */
    readonly variantCount: number;
    /**
     *
     * @type {ColorEnum}
     * @memberof CardDetail
     */
    color: ColorEnum;
    /**
     * Is this from an upcoming set?
     * @type {boolean}
     * @memberof CardDetail
     */
    spoiler: boolean;
    /**
     *
     * @type {string}
     * @memberof CardDetail
     */
    typeLine: string;
    /**
     *
     * @type {string}
     * @memberof CardDetail
     */
    oracleText: string;
    /**
     *
     * @type {any}
     * @memberof CardDetail
     */
    keywords: any | null;
    /**
     *
     * @type {number}
     * @memberof CardDetail
     */
    manaValue: number;
    /**
     * Whether this card is part of the Reserved List
     * @type {boolean}
     * @memberof CardDetail
     */
    reserved: boolean;
    /**
     * Set code of latest printing of card
     * @type {string}
     * @memberof CardDetail
     */
    latestPrintingSet: string;
    /**
     * Whether this card has been reprinted
     * @type {boolean}
     * @memberof CardDetail
     */
    reprinted: boolean;
    /**
     * Whether this card is in the official Game Changer card list
     * @type {boolean}
     * @memberof CardDetail
     */
    gameChanger: boolean;
    /**
     * Whether this card can tutor for other cards
     * @type {boolean}
     * @memberof CardDetail
     */
    tutor: boolean;
    /**
     * Whether this card can inhibit or destroy numerous lands
     * @type {boolean}
     * @memberof CardDetail
     */
    massLandDenial: boolean;
    /**
     * Whether this card grants an extra turn
     * @type {boolean}
     * @memberof CardDetail
     */
    extraTurn: boolean;
    /**
     *
     * @type {string}
     * @memberof CardDetail
     */
    imageUriFrontPng: string | null;
    /**
     *
     * @type {string}
     * @memberof CardDetail
     */
    imageUriFrontLarge: string | null;
    /**
     *
     * @type {string}
     * @memberof CardDetail
     */
    imageUriFrontNormal: string | null;
    /**
     *
     * @type {string}
     * @memberof CardDetail
     */
    imageUriFrontSmall: string | null;
    /**
     *
     * @type {string}
     * @memberof CardDetail
     */
    imageUriFrontArtCrop: string | null;
    /**
     *
     * @type {LayoutRotationEnum}
     * @memberof CardDetail
     */
    layoutRotationFront: LayoutRotationEnum | null;
    /**
     *
     * @type {string}
     * @memberof CardDetail
     */
    imageUriBackPng: string | null;
    /**
     *
     * @type {string}
     * @memberof CardDetail
     */
    imageUriBackLarge: string | null;
    /**
     *
     * @type {string}
     * @memberof CardDetail
     */
    imageUriBackNormal: string | null;
    /**
     *
     * @type {string}
     * @memberof CardDetail
     */
    imageUriBackSmall: string | null;
    /**
     *
     * @type {string}
     * @memberof CardDetail
     */
    imageUriBackArtCrop: string | null;
    /**
     *
     * @type {Array<FeatureOfCard>}
     * @memberof CardDetail
     */
    readonly features: Array<FeatureOfCard>;
    /**
     *
     * @type {CardLegalities}
     * @memberof CardDetail
     */
    readonly legalities: CardLegalities;
    /**
     *
     * @type {CardPrices}
     * @memberof CardDetail
     */
    readonly prices: CardPrices;
}
/**
 * Check if a given object implements the CardDetail interface.
 */
export declare function instanceOfCardDetail(value: object): value is CardDetail;
export declare function CardDetailFromJSON(json: any): CardDetail;
export declare function CardDetailFromJSONTyped(json: any, ignoreDiscriminator: boolean): CardDetail;
export declare function CardDetailToJSON(json: any): CardDetail;
export declare function CardDetailToJSONTyped(value?: Omit<CardDetail, 'id' | 'variantCount' | 'features' | 'legalities' | 'prices'> | null, ignoreDiscriminator?: boolean): any;
