/**
 * @athenna/ioc
 *
 * (c) João Lenon <lenon@athenna.io>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
import { Ioc } from '#src/container/Ioc';
export declare class ServiceProvider {
    /**
     * The Ioc container instance.
     */
    container: Ioc;
    constructor();
    /**
     * Set where the environment of application where this provider can
     * be registered or not.
     */
    get environment(): string[];
    /**
     * Register any application services.
     */
    register(): void | Promise<void>;
    /**
     * Bootstrap any application services.
     */
    boot(): void | Promise<void>;
    /**
     * Shutdown any application services.
     */
    shutdown(): void | Promise<void>;
}
