import { ObservableStore, Store } from "./store";
import { MetadataObject } from "../types/meta";
import { IResourceClient } from "../resource";
import { SelectorOptions } from "../client";
export interface Controller {
    waitForInitialList(): Promise<void>;
    waitUntilFinish(): Promise<void>;
    stop(): void;
}
export declare class Informer<R extends MetadataObject, O extends R = R> {
    private resource;
    private opts?;
    readonly store: ObservableStore<O>;
    constructor(resource: IResourceClient<R, any, any, O>, opts?: SelectorOptions | undefined, store?: Store<O>);
    start(): Controller;
}
