import { Binding } from '@loopback/context';
import { Component, ProviderMap, ServiceOrProviderClass, ControllerClass } from '@loopback/core';
import { Class, Repository, Model } from '@loopback/repository';
import { RestApplication } from '@loopback/rest';
import { ISubscriptionServiceConfig } from './types';
export declare class SubscriptionServiceComponent implements Component {
    private readonly application;
    private readonly subscriptionConfig?;
    constructor(application: RestApplication, subscriptionConfig?: ISubscriptionServiceConfig | undefined);
    providers?: ProviderMap;
    bindings?: Binding[];
    services?: ServiceOrProviderClass[];
    /**
     * An optional list of Repository classes to bind for dependency injection
     * via `app.repository()` API.
     */
    repositories?: Class<Repository<Model>>[];
    /**
     * An optional list of Model classes to bind for dependency injection
     * via `app.model()` API.
     */
    models?: Class<Model>[];
    /**
     * An array of controller classes
     */
    controllers?: ControllerClass[];
    /**
     * Setup ServiceSequence by default if no other sequnce provided
     *
     */
    setupSequence(): void;
}
