import { BaseController } from "./Base";
import { ArgsDefault } from "../types";
/**
 * @class ServerController
 * @property {Kuzzle} kuzzle - The Kuzzle SDK Instance
 */
export declare class ServerController extends BaseController {
    /**
     * @param {Kuzzle} kuzzle - The Kuzzle SDK Instance
     */
    constructor(kuzzle: any);
    /**
     * Checks if an administrator user exists
     *
     * @param {Object} options - {queuable: Boolean(true)}
     * @returns {Promise<Boolean>}
     */
    adminExists(options: ArgsServerControllerAdminExists): Promise<any>;
    /**
     * Returns the Kuzzle capabilities
     * @param {Object} options - {queuable: Boolean(true)}
     * @example https://docs.kuzzle.io/core/2/api/controllers/server/capabilities/#response
     * @returns {Promise<Object>}
     */
    capabilities(options: ArgsServerControllerGetAllStats): Promise<any>;
    /**
     * Returns all stored statistics frames
     *
     * @param {Object} options - {queuable: Boolean(true)}
     * @returns {Promise<Object>}
     */
    getAllStats(options: ArgsServerControllerGetAllStats): Promise<any>;
    /**
     * Returns the Kuzzle configuration
     *
     * @param {Object} options - {queuable: Boolean(true)}
     * @returns {Promise<Object>}
     */
    getConfig(options: ArgsServerControllerGetConfig): Promise<any>;
    /**
     * Returns the last statistics frame
     *
     * @param {Object} options - {queuable: Boolean(true)}
     * @returns {Promise<Object>}
     */
    getLastStats(options: ArgsServerControllerGetLastStats): Promise<any>;
    /**
     * Returns the statistics frame from a date
     *
     * @param {Number|String} startTime - begining of statistics frame set (timestamp or datetime format)
     * @param {Number|String} stopTime - end of statistics frame set (timestamp or datetime format)
     * @param {Object} options - {queuable: Boolean(true)}
     * @returns {Promise<Object>}
     */
    getStats(startTime: number | string, stopTime: number | string, options: ArgsServerControllerGetStats): Promise<any>;
    /**
     * Returns the Kuzzle server information
     *
     * @param {Object} options - {queuable: Boolean(true)}
     * @returns {Promise<Object>}
     */
    info(options: ArgsServerControllerInfo): Promise<any>;
    /**
     * Get server's current timestamp
     *
     * @param {Object} options - {queuable: Boolean(true)}
     * @returns {Promise<Number>}
     */
    now(options: ArgsServerControllerNow): Promise<any>;
}
export type ArgsServerControllerAdminExists = ArgsDefault;
export type ArgsServerControllerGetAllStats = ArgsDefault;
export type ArgsServerControllerGetConfig = ArgsDefault;
export type ArgsServerControllerGetLastStats = ArgsDefault;
export type ArgsServerControllerGetStats = ArgsDefault;
export type ArgsServerControllerInfo = ArgsDefault;
export type ArgsServerControllerNow = ArgsDefault;
