import { Bloc } from "./bloc"; import { TemplateResult } from "../template"; import { BaseBlocsHTMLElement } from '../base'; /** * This function can help skip or pick some elements even when they are valid elements capable of providing the bloc */ export interface OtherBlocSearchCriteria { (currentEl: HTMLElement): boolean; } export declare abstract class BlocsProvider extends BaseBlocsHTMLElement { private _blocsMap; /** * * @param _blocsMap case sensitive keys. */ constructor(_blocsMap?: Record>); get blocsMap(): Record>; connectedCallback(): void; disconnectedCallback(): void; /** * Added this method as its more logicaly named. * @param nameOfBlocToSearch * @param startingElement * @param otherSearchCriteria * @returns */ static search>(nameOfBlocToSearch: string, startingElement: HTMLElement, otherSearchCriteria?: OtherBlocSearchCriteria): B | undefined; _build(): void; abstract builder(): TemplateResult | undefined; }