import { Component } from '../component';
import { type State } from './state';
/**
 * A monitor represent a component that responsible to provide access to
 * insight about the running application.
 *
 * When contextScan is set to true, classes extending this class will be
 * automatically discovered and injected on the application context.
 *
 * Concrete Monitor classes should implement the Monitor#execute() method
 * and return a State object.
 *
 * @public
 */
export declare class Monitor extends Component {
    /**
     * Define the name of the monitoring group/properties
     */
    getName(): string;
    /**
     * Extract information about the state of a service or component.
     * @returns {State} the state of the service.
     */
    execute(): State;
}
