import { Axios, RawAxiosRequestHeaders } from "axios";
import EventSource from "eventsource";
interface SaltConfig {
    url: string;
    username?: string;
    password?: string;
    token?: string;
    eauth?: string;
}
interface FunOptions {
    client?: "local" | "runner" | "wheel";
    arg?: string | string[];
    kwarg?: any;
    tgt_type?: "glob" | "pcre" | "list" | "grain" | "grain_pcre" | "pillar" | "pillar_pcre" | "nodegroup" | "range" | "compound" | "ipcidr";
    pillar?: string;
    timeout?: number;
    full_return?: boolean;
}
export declare class Salt {
    config: SaltConfig;
    headers: RawAxiosRequestHeaders;
    axios: Axios;
    debug: boolean;
    private token;
    private expire;
    constructor(config: SaltConfig, debug?: boolean, axiosInstance?: Axios | undefined);
    login(): Promise<void>;
    eventSource(): Promise<EventSource>;
    fun(tgt?: string, fun?: string | string[], funOptions?: FunOptions): Promise<any>;
    minions(mid?: string): Promise<any>;
    jobs(jid?: string): Promise<any>;
    private debugLog;
}
export {};
