import { AxiosRequestConfig } from 'axios';
export interface ConnectorConfig {
    name: string;
    config: {
        "connector.class": string;
        [key: string]: any;
    };
}
export interface ConnectorInfo {
    name: string;
    config: Record<string, any>;
    tasks: Task[];
    type: string;
}
export interface Task {
    connector: string;
    task: number;
}
export interface ConnectorStatus {
    name: string;
    connector: {
        state: string;
        worker_id: string;
    };
    tasks: TaskStatus[];
}
export interface TaskStatus {
    id: number;
    state: string;
    worker_id: string;
    trace?: string;
}
export declare class KafkaConnectClient {
    private client;
    constructor(baseURL: string, config?: AxiosRequestConfig);
    listConnectors(): Promise<string[]>;
    getConnectorInfo(name: string): Promise<ConnectorInfo>;
    getConnectorConfig(name: string): Promise<Record<string, any>>;
    getConnectorStatus(name: string): Promise<ConnectorStatus>;
    createConnector(config: ConnectorConfig): Promise<ConnectorInfo>;
    updateConnectorConfig(name: string, config: Record<string, any>): Promise<ConnectorInfo>;
    deleteConnector(name: string): Promise<void>;
    pauseConnector(name: string): Promise<void>;
    resumeConnector(name: string): Promise<void>;
    restartConnector(name: string): Promise<void>;
    restartTask(connectorName: string, taskId: number): Promise<void>;
    listConnectorPlugins(): Promise<any[]>;
    validateConnectorConfig(plugin: string, config: Record<string, any>): Promise<any>;
    private handleError;
}
