import { GenresApi, ShowsApi, CountriesApi, ChangesApi, SearchShowsByFiltersRequest, GetChangesRequest } from "./apis";
import { Configuration } from "./runtime";
import * as runtime from "./runtime";
import type { Show, Change } from "./models";
export declare class Client {
    showsApi: ShowsApiExtended;
    genresApi: GenresApi;
    countriesApi: CountriesApi;
    changesApi: ChangesApiExtended;
    constructor(configuration: Configuration);
}
/**
 * ShowsApi with auto-pagination support
 */
export declare class ShowsApiExtended extends ShowsApi {
    /**
     * Performs SearchShowsByFiltersRequest with auto-pagination.
     *
     * @param requestParameters Request parameters
     * @param maxPages Maximum number of pages to fetch. If 0 or less, fetches all pages.
     * @param initOverrides Optional overrides for the fetch init parameters
     *
     * @returns AsyncGenerator of Show
     */
    searchShowsByFiltersWithAutoPagination(requestParameters: SearchShowsByFiltersRequest, maxPages: number, initOverrides?: RequestInit | runtime.InitOverrideFunction): AsyncGenerator<Show, void, void>;
}
export interface ChangeWithShow extends Change {
    show: Show;
}
/**
 * ChangesApi with auto-pagination support
 */
export declare class ChangesApiExtended extends ChangesApi {
    /**
     * Performs getChanges with auto-pagination.
     * Unlike the original getChanges, this method returns ChangeWithShow objects, which include the Show object
     * that corresponds to the showId field of the Change object.
     *
     * @param requestParameters Request parameters
     * @param maxPages Maximum number of pages to fetch. If 0 or less, fetches all pages.
     * @param initOverrides Optional overrides for the fetch init parameters
     *
     * @returns AsyncGenerator of ChangeWithShow
     */
    getChangesWithAutoPagination(requestParameters: GetChangesRequest, maxPages: number, initOverrides?: RequestInit | runtime.InitOverrideFunction): AsyncGenerator<ChangeWithShow, void, void>;
}
