export declare const cfExampleDec: cfDeclaration;
/**
 * Top level schema for enabling cloud failover for BIG-IP
 */
export type cfDeclaration = CloudFailover1 & CloudFailover2;
export type CloudFailover1 = {
    [k: string]: unknown;
};
/**
 * Cloud failover top level class
 */
export type Class = "Cloud_Failover";
/**
 * Version of ADC Declaration schema this declaration uses
 */
export type SchemaVersion = string;
/**
 * URL of schema against which to validate. Used by validation in your local environment only (via Visual Studio Code, for example)
 */
export type Schema = string;
/**
 * Cloud provider environment.
 */
export type Environment = "aws" | "azure" | "gcp";
/**
 * Addresses this deployment will manage.
 */
export type FailoverAddresses = {
    [k: string]: unknown;
};
/**
 * Route(s) this deployment will manage.
 */
export type FailoverRoutes = {
    enabled?: Enabled;
    defaultResourceLocations?: ResourceLocations;
    [k: string]: unknown;
} & {
    [k: string]: unknown;
};
export type Enabled = boolean;
export type ResourceLocations = {
    subscriptionId?: string;
    [k: string]: unknown;
}[];
/**
 * External storage this deployment will manage.
 */
export type ExternalStorage = {
    scopingTags: ScopingTags;
    [k: string]: unknown;
} | {
    scopingName: ScopingName;
    [k: string]: unknown;
};
export type ScopingName = string;
/**
 * File location of a custom certificate bundle to use for cloud API calls.
 */
export type TrustedCertBundle = string;
export interface CloudFailover2 {
    class: Class;
    schemaVersion?: SchemaVersion;
    $schema?: Schema;
    environment: Environment;
    failoverAddresses?: FailoverAddresses;
    failoverRoutes?: FailoverRoutes;
    retryFailover?: RetryFailover;
    externalStorage?: ExternalStorage;
    trustedCertBundle?: TrustedCertBundle;
    controls?: Controls;
}
/**
 * Feature to trigger failover periodically
 */
export interface RetryFailover {
    enabled?: boolean;
    interval?: number;
    [k: string]: unknown;
}
export interface ScopingTags {
    [k: string]: unknown;
}
/**
 * Controls class used to set system controls, such as logging level.
 */
export interface Controls {
    class?: string;
    /**
     * Log Level of the system.
     */
    logLevel?: "error" | "warning" | "info" | "debug" | "verbose" | "silly";
    [k: string]: unknown;
}
export type cfTriggerDeclaration = {
    action: 'dry-run' | 'execute';
};
export type cfResetDeclartion = {
    resetStateFile: boolean;
};
/**
 * example cfe GET /info response
 */
export declare const cfInfoResp: {
    version: string;
    release: string;
    schemaCurrent: string;
    schemaMinimum: string;
};
/**
 * example cfe GET /inspect response
 */
export declare const cfInspectResp: {
    instance: string;
    addresses: {
        privateIpAddress: string;
        publicIpAddress: string;
        networkInterfaceId: string;
    }[];
    routes: {
        routeTableId: string;
        routeTableName: string;
        networkId: string;
    }[];
    hostName: string;
    deviceStatus: string;
    trafficGroup: {
        name: string;
    }[];
};
/**
 * example cf GET /declare response
 */
export declare const cfGetDeclareResp: {
    message: string;
    declaration: {
        class: string;
        environment: string;
        schemaVersion: string;
        externalStorage: {
            scopingTags: {};
        };
        failoverAddresses: {
            scopingTags: {};
        };
        failoverRoutes: {
            enabled: string;
            routeGroupDefinitions: any[];
        };
        controls: {
            class: string;
            logLevel: string;
        };
    };
};
/**
 * example cfe POST /decalre response
 */
export declare const cfPostDeclareResp: {
    message: string;
    declaration: cfDeclaration;
};
/**
 * example cfe GET trigger response
 */
export declare const cfGetTriggerResp: {
    taskState: string;
    message: string;
    timestamp: string;
    instance: string;
    failoverOperations: {
        routes: {};
        addresses: {};
    };
    code: number;
};
/**
 * exmple cfe POST trigger response (dry-run)
 */
export declare const cfPostTriggerDrResp: {
    addresses: {};
    routes: {};
};
/**
 * exmple cfe POST trigger response
 */
export declare const cfPostTriggerResp: {
    taskState: string;
    timestamp: string;
    instance: string;
    failoverOperations: {
        routes: {};
        addresses: {};
    };
    code: string;
};
/**
 * example cfe POST /reset response
 */
export declare const cfPostResetResp: {
    message: string;
};
