import type { JobAgent, JobAgentConfiguration, JobAgentType, JobAgentUpdate } from '../models';
import { HttpBackend } from '../helpers';
/**
 * API client to make requests to the Job Agent API.
 *
 * @public
 */
export declare class JobAgentClient {
    private readonly basePath;
    private readonly backend;
    constructor(basePath: string, backend?: HttpBackend);
    /**
     * Returns the site settings for Job Agents.
     * @param customerId - Your customer id.
     * @param language - The language to request.
     */
    getJobAgentConfiguration(customerId: string, language: string): Promise<JobAgentConfiguration>;
    /**
     * Returns the settings for a specific Job Agent type.
     * @param customerId - Your customer id.
     * @param language - The language to request.
     * @param type - The id of a Job Agent type.
     */
    getJobAgentType(customerId: string, language: string, type: string): Promise<JobAgentType>;
    /**
     * Returns a specific Job Agent.
     * @param customerId - Your customer id.
     * @param language - The language to request.
     * @param jobAgentId - The id of the Job Agent.
     * @param code - The code of the Job Agent.
     * @param type - The type of the Job Agent.
     */
    getJobAgent(customerId: string, language: string, jobAgentId: string, code: string, type: string): Promise<JobAgent>;
    /**
     * Creates a new Job Agent.
     * @param customerId - Your customer id.
     * @param language - The language to request.
     * @param jobAgent - The Job Agent to create.
     * @param type - The type of the Job Agent.
     */
    createJobAgent(customerId: string, language: string, jobAgent: JobAgent, type: string): Promise<void>;
    /**
     * Updates an existing Job Agent.
     * @param customerId - Your customer id.
     * @param language - The language to request.
     * @param jobAgent - The Job Agent to change.
     * @param type - The type of the Job Agent.
     */
    updateJobAgent(customerId: string, language: string, jobAgent: JobAgentUpdate, type: string): Promise<void>;
    /**
     * Deletes an existing Job Agent.
     * @param customerId - Your customer id.
     * @param language - The language to request.
     * @param jobAgentId - The id of the Job Agent.
     * @param code - The code of the Job Agent.
     * @param type - The type of the Job Agent.
     */
    deleteJobAgent(customerId: string, language: string, jobAgentId: string, code: string, type: string): Promise<void>;
    /**
     * Tries to email the user allowing them to activate/modify/delete their Job Agent.
     * This API always returns success, even if the email was not found in the system to prevent checking if emails are in the system or not.
     * @param customerId - Your customer id.
     * @param language - The language to request.
     * @param email - The email that should be in the system to try to resent the recent Job Agent information to.
     * @param type - The type of the Job Agent.
     */
    resendEmail(customerId: string, language: string, email: string, type: string): Promise<void>;
    /**
     * Activates an existing Job Agent.
     * @param customerId - Your customer id.
     * @param language - The language to request.
     * @param code - The code of the Job Agent.
     * @param type - The type of the Job Agent.
     */
    activate(customerId: string, language: string, code: string, type: string): Promise<void>;
    private getBaseUrl;
    private getDefaultPostHeaders;
}
