import { Contracts } from '../../contracts';
import { IDeliveryClientConfig } from '../../config';
import { ClientTypes, IDeliveryNetworkResponse, ITaxonomyGroup, ITaxonomyQueryConfig, Responses } from '../../models';
import { QueryService } from '../../services';
import { BaseListingQuery } from '../common/base-listing-query.class';
export declare class TaxonomiesQuery<TClientTypes extends ClientTypes> extends BaseListingQuery<TClientTypes, ITaxonomyGroup<TClientTypes['taxonomyCodenames']>, Responses.IListTaxonomiesResponse<TClientTypes['taxonomyCodenames']>, Responses.IListTaxonomiesAllResponse<TClientTypes['taxonomyCodenames']>, ITaxonomyQueryConfig, Contracts.IListTaxonomyGroupsContract> {
    protected config: IDeliveryClientConfig;
    protected queryService: QueryService<TClientTypes>;
    /**
     * Taxonomies endpoint URL action
     */
    protected readonly taxonomiesEndpoint: string;
    protected _queryConfig: ITaxonomyQueryConfig;
    constructor(config: IDeliveryClientConfig, queryService: QueryService<TClientTypes>);
    /**
     * Limits the number of taxonomies returned by query
     * @param limit Number of taxonomies to load
     */
    limitParameter(limit: number): this;
    /**
     * Skips the selected number of taxonomies
     * @param skip Number of taxonomies to skip
     */
    skipParameter(skip: number): this;
    toPromise(): Promise<IDeliveryNetworkResponse<Responses.IListTaxonomiesResponse<TClientTypes['taxonomyCodenames']>, Contracts.IListTaxonomyGroupsContract>>;
    getUrl(): string;
    map(json: any): Responses.IListTaxonomiesResponse<TClientTypes['taxonomyCodenames']>;
    protected allResponseFactory(items: ITaxonomyGroup<TClientTypes['taxonomyCodenames']>[], responses: IDeliveryNetworkResponse<Responses.IListTaxonomiesResponse<TClientTypes['taxonomyCodenames']>, Contracts.IListTaxonomyGroupsContract>[]): Responses.IListTaxonomiesAllResponse<TClientTypes['taxonomyCodenames']>;
}
