import { URLValidator } from './url'; import type { StrapiClientConfig } from '../client'; /** * Provides the ability to validate the configuration used for initializing the Strapi client. * * This includes URL validation to ensure compatibility with Strapi's API endpoints. */ export declare class StrapiConfigValidator { private readonly _urlValidator; constructor(urlValidator?: URLValidator); /** * Validates the provided client configuration, ensuring that all values are * suitable for the client operations.. * * @param config - The configuration object for the Strapi client. Must include a `baseURL` property indicating the API's endpoint. * * @throws {StrapiValidationError} If the configuration is invalid, or if the baseURL is invalid. */ validateConfig(config: StrapiClientConfig): void; /** * Validates the base URL, ensuring it follows acceptable protocols and structure for reliable API interaction. * * @param url - The base URL string to validate. * * @throws {StrapiValidationError} If the URL is invalid or if it fails through the URLValidator checks. */ private validateBaseURL; /** * Validates the headers object to ensure it's a plain object with string key-value pairs. * * @param headers - The headers object to validate. * * @throws {StrapiValidationError} If the headers are invalid. */ private validateHeaders; }