/**
 * 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 * as runtime from '../runtime.js';
import { type PaginatedVariantSuggestionList } from '../models/PaginatedVariantSuggestionList.js';
import { type PatchedVariantSuggestionRequest } from '../models/PatchedVariantSuggestionRequest.js';
import { type VariantSuggestion } from '../models/VariantSuggestion.js';
import { type VariantSuggestionRequest } from '../models/VariantSuggestionRequest.js';
export interface VariantSuggestionsCreateRequest {
    variantSuggestionRequest: VariantSuggestionRequest;
}
export interface VariantSuggestionsDestroyRequest {
    id: number;
}
export interface VariantSuggestionsListRequest {
    count?: boolean;
    limit?: number;
    offset?: number;
    suggestedBy?: number;
}
export interface VariantSuggestionsPartialUpdateRequest {
    id: number;
    patchedVariantSuggestionRequest?: PatchedVariantSuggestionRequest;
}
export interface VariantSuggestionsRetrieveRequest {
    id: number;
}
export interface VariantSuggestionsUpdateRequest {
    id: number;
    variantSuggestionRequest: VariantSuggestionRequest;
}
export interface VariantSuggestionsValidateCreateRequest {
    variantSuggestionRequest: VariantSuggestionRequest;
}
export interface VariantSuggestionsValidatePartialUpdateRequest {
    id: number;
    patchedVariantSuggestionRequest?: PatchedVariantSuggestionRequest;
}
export interface VariantSuggestionsValidateUpdateRequest {
    id: number;
    variantSuggestionRequest: VariantSuggestionRequest;
}
/**
 *
 */
export declare class VariantSuggestionsApi extends runtime.BaseAPI {
    /**
     * Creates request options for variantSuggestionsCreate without sending the request
     */
    variantSuggestionsCreateRequestOpts(requestParameters: VariantSuggestionsCreateRequest): Promise<runtime.RequestOpts>;
    /**
     */
    variantSuggestionsCreateRaw(requestParameters: VariantSuggestionsCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VariantSuggestion>>;
    /**
     */
    variantSuggestionsCreate(requestParameters: VariantSuggestionsCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VariantSuggestion>;
    /**
     * Creates request options for variantSuggestionsDestroy without sending the request
     */
    variantSuggestionsDestroyRequestOpts(requestParameters: VariantSuggestionsDestroyRequest): Promise<runtime.RequestOpts>;
    /**
     */
    variantSuggestionsDestroyRaw(requestParameters: VariantSuggestionsDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     */
    variantSuggestionsDestroy(requestParameters: VariantSuggestionsDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
    /**
     * Creates request options for variantSuggestionsList without sending the request
     */
    variantSuggestionsListRequestOpts(requestParameters: VariantSuggestionsListRequest): Promise<runtime.RequestOpts>;
    /**
     */
    variantSuggestionsListRaw(requestParameters: VariantSuggestionsListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PaginatedVariantSuggestionList>>;
    /**
     */
    variantSuggestionsList(requestParameters?: VariantSuggestionsListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PaginatedVariantSuggestionList>;
    /**
     * Creates request options for variantSuggestionsPartialUpdate without sending the request
     */
    variantSuggestionsPartialUpdateRequestOpts(requestParameters: VariantSuggestionsPartialUpdateRequest): Promise<runtime.RequestOpts>;
    /**
     */
    variantSuggestionsPartialUpdateRaw(requestParameters: VariantSuggestionsPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VariantSuggestion>>;
    /**
     */
    variantSuggestionsPartialUpdate(requestParameters: VariantSuggestionsPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VariantSuggestion>;
    /**
     * Creates request options for variantSuggestionsRetrieve without sending the request
     */
    variantSuggestionsRetrieveRequestOpts(requestParameters: VariantSuggestionsRetrieveRequest): Promise<runtime.RequestOpts>;
    /**
     */
    variantSuggestionsRetrieveRaw(requestParameters: VariantSuggestionsRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VariantSuggestion>>;
    /**
     */
    variantSuggestionsRetrieve(requestParameters: VariantSuggestionsRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VariantSuggestion>;
    /**
     * Creates request options for variantSuggestionsUpdate without sending the request
     */
    variantSuggestionsUpdateRequestOpts(requestParameters: VariantSuggestionsUpdateRequest): Promise<runtime.RequestOpts>;
    /**
     */
    variantSuggestionsUpdateRaw(requestParameters: VariantSuggestionsUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VariantSuggestion>>;
    /**
     */
    variantSuggestionsUpdate(requestParameters: VariantSuggestionsUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VariantSuggestion>;
    /**
     * Creates request options for variantSuggestionsValidateCreate without sending the request
     */
    variantSuggestionsValidateCreateRequestOpts(requestParameters: VariantSuggestionsValidateCreateRequest): Promise<runtime.RequestOpts>;
    /**
     * Validate the variant suggestion data.
     */
    variantSuggestionsValidateCreateRaw(requestParameters: VariantSuggestionsValidateCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VariantSuggestion>>;
    /**
     * Validate the variant suggestion data.
     */
    variantSuggestionsValidateCreate(requestParameters: VariantSuggestionsValidateCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VariantSuggestion>;
    /**
     * Creates request options for variantSuggestionsValidatePartialUpdate without sending the request
     */
    variantSuggestionsValidatePartialUpdateRequestOpts(requestParameters: VariantSuggestionsValidatePartialUpdateRequest): Promise<runtime.RequestOpts>;
    /**
     * Validate the variant suggestion update data.
     */
    variantSuggestionsValidatePartialUpdateRaw(requestParameters: VariantSuggestionsValidatePartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VariantSuggestion>>;
    /**
     * Validate the variant suggestion update data.
     */
    variantSuggestionsValidatePartialUpdate(requestParameters: VariantSuggestionsValidatePartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VariantSuggestion>;
    /**
     * Creates request options for variantSuggestionsValidateUpdate without sending the request
     */
    variantSuggestionsValidateUpdateRequestOpts(requestParameters: VariantSuggestionsValidateUpdateRequest): Promise<runtime.RequestOpts>;
    /**
     * Validate the variant suggestion update data.
     */
    variantSuggestionsValidateUpdateRaw(requestParameters: VariantSuggestionsValidateUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VariantSuggestion>>;
    /**
     * Validate the variant suggestion update data.
     */
    variantSuggestionsValidateUpdate(requestParameters: VariantSuggestionsValidateUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VariantSuggestion>;
}
