import { AgentCore } from "./agent-core";

/** Represents the headers required for API requests. */
export interface Headers {
  "x-api-key"?: string;
  "authorization"?: string;
}

export declare class NetworkingAgent extends AgentCore {
  /**
   * Overrides the default backend url.
   * @param newBackend - The new url for the backend.
   */
  static overrideBackendUrl(newBackend: string): void;

  /**
   * Adds a request interceptor for API requests.
   * @param data - The interceptor configuration.
   */
  static addRequestInterceptor(data: any): void;

  /**
   * Adds an authorization interceptor for API requests.
   * @param token - The authorization token.
   */
  static addAuthorizationInterceptor(token: string): void;

  /**
   * Retrieves the headers for API requests.
   * @returns The headers for API requests.
   */
  static getHeaders(): Headers;

  /**
   * Builds the query string for fetching model slot data.
   * @returns The query string.
   */
  getModelSlotQuery(): string;
}