import { CrudService } from '../../../providers/crud.service';
import { LoaderConfigurator } from '../loader-configurator';
import { Observable, Subject } from 'rxjs';
export interface CanHaveOneLoader<D> {
    primaryKeyFactory: () => Observable<number | string>;
    service: CrudService<D>;
}
declare const OneLoaderConfigurator_base: import("@angular/material/core/common-behaviors/constructor").Constructor<import("../../../mixins/has-subs.mixin").HasSubs> & {
    new (): {};
};
export declare class OneLoaderConfigurator<D> extends OneLoaderConfigurator_base implements LoaderConfigurator<D> {
    protected owner: CanHaveOneLoader<D>;
    element: D;
    onDataLoaded$: Subject<D>;
    constructor(owner: CanHaveOneLoader<D>);
    initLoader(): void;
    loadData(): void;
    destroyLoader(): void;
}
export {};
