import { AtcInfo } from "./bigipModels";
import { MgmtClient } from "./mgmtClient";
import { cfDeclaration } from "./cfModels";
import { AxiosResponseWithTimings } from "../utils/httpModels";
/**
 * f5 cloud failover client
 * https://github.com/F5Networks/f5-cloud-failover-extension
 * https://clouddocs.f5.com/products/extensions/f5-cloud-failover/latest/
 */
export declare class CfClient {
    version: AtcInfo;
    static metaData: {
        endPoints: {
            declare: string;
            info: string;
            inspect: string;
            trigger: string;
            reset: string;
        };
        gitReleases: string;
        repo: string;
        schema: string;
        examples: string;
    };
    mgmtClient: MgmtClient;
    constructor(versions: AtcInfo, mgmtClient: MgmtClient);
    /**
     * list associated cloud objects
     * @returns axios/http response
     */
    inspect(): Promise<AxiosResponseWithTimings>;
    /**
     * get cfe configuration
     * @returns axios/http response
     */
    getDeclare(): Promise<AxiosResponseWithTimings>;
    /**
     * post/configure cfe
     * @param cf declaration
     * @returns axios/http response
     */
    postDeclare(data: cfDeclaration): Promise<AxiosResponseWithTimings>;
    /**
     * post last trigger event
     * @returns axios/http response
     */
    getTrigger(): Promise<AxiosResponseWithTimings>;
    /**
     * post/execute a trigger
     *
     * @param action trigger action -> 'execute' by default
     * @returns axios/http response
     */
    trigger(action?: 'dry-run' | 'execute'): Promise<AxiosResponseWithTimings>;
    /**
     * post/reset cfe config
     *
     * sends/posts
     * ```json
     * {
     *   "resetStateFile": true
     * }
     * ```
     * @returns axios/http response
     */
    reset(): Promise<AxiosResponseWithTimings>;
}
