import { AtcInfo } from "./bigipModels";
import { atcMetaData } from '../constants';
import { MgmtClient } from "./mgmtClient";
import { AxiosResponseWithTimings } from "../utils/httpModels";
import { DeviceDeclaration, DoDeclaration } from "./doModels";
export declare class DoClient {
    mgmtClient: MgmtClient;
    metaData: typeof atcMetaData.do;
    version: AtcInfo;
    constructor(versions: AtcInfo, doMetaData: typeof atcMetaData.do, mgmtClient: MgmtClient);
    /**
     * get current DO declaration from f5 device
     * @returns
     */
    get(): Promise<AxiosResponseWithTimings>;
    /**
     * post do declaration to f5 device
     * @returns
     */
    post(data: unknown): Promise<AxiosResponseWithTimings>;
    /**
     * inspect DO
     * @returns
     */
    inpsect(): Promise<AxiosResponseWithTimings>;
    /**
     * get DO task
     * @returns
     */
    task(id?: string): Promise<AxiosResponseWithTimings>;
    /**
     *
     * check DO declaration for async post parameter
     *
     * @param data do declaration
     * @returns true/false
     */
    isAsync(data: DoDeclaration | DeviceDeclaration): boolean;
}
