import { HeaderItem } from '../../../../domains/shared/header'; /** * Builds the widget header's skeleton: one item per slot of {@link WIDGET_HEADER_SLOTS}, in that * order. * * A slot is filled by the header's own item for it if there is one (only the spacers are the * header's own — everything with content is contributed), otherwise by a contributed item claiming * that id, otherwise by a hidden anchor. Contributed items get the slot's `fill`, so a feature * decides *what* its item draws and the header decides how wide it sits. * * Both ways a contribution can be wrong are authoring bugs in SDK code — a marked item is only ever * created by `asBuiltInHeaderItem`, never by a consumer — so both **throw** rather than degrade: * every built-in item has to claim a slot registered here, and the header's own spacer slots cannot * be taken over (use `onBeforeRender` to change those). * * @param ownItems - The items the header builds itself: the two alignment spacers. * @param contributedItems - The widget's own items plus those contributed through * `config.header.items`. * @throws When a contributed item claims an unregistered id, or one the header owns. * @returns The full, ordered skeleton, including hidden anchors for the empty slots. * @internal */ export declare const buildWidgetHeaderSkeleton: (ownItems: readonly HeaderItem[], contributedItems?: readonly HeaderItem[]) => HeaderItem[];