import { SdtMetadata, StructuredContentMetadata } from '../../../../contracts/src/index.js';
export { getSdtContainerKey, getSdtContainerKeyForBlock, getSdtContainerMetadata, hasExplicitSdtContainerKey, } from '../../../../contracts/src/index.js';
export type SdtContainerConfig = {
    className: string;
    labelText: string;
    labelClassName: string;
    isStart: boolean;
    isEnd: boolean;
} | null;
export type SdtBoundaryOptions = {
    isStart?: boolean;
    isEnd?: boolean;
    widthOverride?: number;
    paddingBottomOverride?: number;
    showLabel?: boolean;
};
export type SdtAncestorOptions = {
    ancestorContainerKey?: string | null;
    ancestorContainerSdt?: SdtMetadata | null;
    ancestorContainerKeys?: readonly (string | null | undefined)[];
    ancestorContainerSdts?: readonly (SdtMetadata | null | undefined)[];
};
export declare function isStructuredContentMetadata(sdt: SdtMetadata | null | undefined): sdt is StructuredContentMetadata;
export declare function isDocumentSectionMetadata(sdt: SdtMetadata | null | undefined): sdt is {
    type: 'documentSection';
    title?: string | null;
};
export declare function getSdtContainerConfig(sdt: SdtMetadata | null | undefined): SdtContainerConfig;
export declare function shouldRenderSdtContainerChrome(sdt?: SdtMetadata | null, containerSdt?: SdtMetadata | null, options?: SdtAncestorOptions): boolean;
export declare function getSdtSiblingBoundaries(containerKeys: readonly (string | null)[]): Array<SdtBoundaryOptions | undefined>;
export declare function applySdtContainerChrome(doc: Document, container: HTMLElement, sdt: SdtMetadata | null | undefined, containerSdt?: SdtMetadata | null | undefined, boundaryOptions?: SdtBoundaryOptions, options?: SdtAncestorOptions, chrome?: 'default' | 'none'): boolean;
export declare function shouldRebuildForSdtBoundary(element: HTMLElement, boundary: SdtBoundaryOptions | undefined): boolean;
//# sourceMappingURL=container.d.ts.map