import { ComponentId } from '../annotation/component';
import { Provider } from './provider-protocol';
import { Container } from '../container';
import { Prioritizeable } from '../utils';
export declare class ContainerBasedProvider<T extends object> implements Provider<T> {
    protected readonly componentId: ComponentId<T>;
    protected readonly container: Container;
    protected components: T[] | undefined;
    constructor(componentId: ComponentId<T>, container: Container);
    get(recursive?: boolean): T[];
    sortSync(getPriority?: Prioritizeable.GetPrioritySync<T>, recursive?: boolean): T[];
    sort(getPriority?: Prioritizeable.GetPriority<T>, recursive?: boolean): Promise<T[]>;
}
//# sourceMappingURL=provider.d.ts.map