import { ILayerServiceOptions, ILayerAction, IMapLayer, MapDatasource } from '../.';
export interface ILayerService {
    id: string;
    title?: string;
    options?: ILayerServiceOptions;
    getLayerActions?(layer: IMapLayer): ILayerAction[];
    updateLayer?(layer: IMapLayer): any;
}
export interface IStartStopService extends ILayerService {
    type: string;
    Start?: (manager: MapDatasource) => void;
    Stop?: (manager: MapDatasource) => void;
    getInstance?: (init?: Partial<any>) => IStartStopService;
}
export declare abstract class LayerServiceBase implements ILayerService, IStartStopService {
    id: string;
    title?: string;
    type: string;
    options?: ILayerServiceOptions;
    Start(): Promise<void>;
    Stop(): Promise<void>;
}
