import type CardGrouping from "./models/card-grouping"; import type SpellbookList from "./models/list"; import type ColorIdentity from "./models/color-identity"; export declare type CommanderSpellbookCombos = Array; export declare type CommanderSpellbookAPIResponse = { spreadsheetId: string; valueRanges: [ { range: string; majorDimension: "ROWS"; values: CommanderSpellbookCombos; } ]; }; export declare type SearchResults = { combos: FormattedApiResponse[]; errors: SearchError[]; sort: string; order: string; message: string; }; export declare type FormattedApiResponse = { commanderSpellbookId: string; permalink: string; cards: CardGrouping; colorIdentity: ColorIdentity; prerequisites: SpellbookList; steps: SpellbookList; results: SpellbookList; hasBannedCard: boolean; hasSpoiledCard: boolean; }; export declare type ColorIdentityColors = "w" | "u" | "b" | "r" | "g" | "c"; export declare type SearchError = { key: string; value: string; message: string; }; declare type SizeFilter = { method: string; value: number; }; declare type ValueFilter = { method: string; value: string; }; export declare type Filters = { sizeFilters: SizeFilter[]; includeFilters: ValueFilter[]; excludeFilters: ValueFilter[]; }; export interface ColorIdentityValueFilter { method: string; value: ColorIdentityColors[]; } export declare type IsNotIncludeExcludeValues = "banned" | "spoiled"; export declare type IsNotIncludeExcludeParams = { banned?: boolean; spoiled?: boolean; }; export declare type TagValue = "is" | "not" | "include" | "exclude"; export declare type SearchParameters = { cards: Filters; prerequisites: Filters; steps: Filters; results: Filters; id: { includeFilters: string[]; excludeFilters: string[]; }; colorIdentity: { sizeFilters: SizeFilter[]; includeFilters: ColorIdentityValueFilter[]; excludeFilters: ColorIdentityValueFilter[]; }; tags: { banned?: TagValue; spoiled?: TagValue; }; sort?: string; order?: "ascending" | "descending"; errors: SearchError[]; }; export {};