import { default as CxLineClamp } from '../../../atoms/src/components/line-clamp/line-clamp.ts';
import { default as CxTypography } from '../../../atoms/src/components/typography/typography.ts';
import { default as CortexElement } from '../../../base/src/cortex-element.ts';
import { AssetDataDisplayFetchMode, AssetDataDisplayPosition } from '../../../types/src/asset-data-display';
import { CSSResultGroup } from 'lit';

/**
 * @summary CxAssetDataDisplay
 */
export default class CxAssetDataDisplay extends CortexElement {
    static readonly styles: CSSResultGroup;
    static readonly dependencies: {
        'cx-line-clamp': typeof CxLineClamp;
        'cx-typography': typeof CxTypography;
    };
    private readonly hasSlotController;
    private readonly fetchAssetController;
    /**
     * Whether the asset data display is collapsed.
     */
    collapsed: boolean;
    /**
     * (Not use this property directly)
     * Behave like collapsed, but controlled by this component.
     * To check if there is no slot content.
     */
    noSlotContent: boolean;
    expanded: boolean;
    overlay: boolean;
    position: AssetDataDisplayPosition;
    fetchMode: AssetDataDisplayFetchMode;
    token: string;
    recordId: string;
    headerSourceField: string;
    detailsSourceField: string;
    additionalFields: string[];
    requestedFields: string[];
    private header;
    private details;
    private additionalContent;
    private showDefaultSlot;
    private showHeaderSlot;
    private showDetailsSlot;
    private showAdditionalContentSlot;
    handleFetchModeChange(): Promise<void>;
    handleHeaderSlotChange(): void;
    handleDetailsSlotChange(): void;
    handleAdditionalContentSlotChange(): void;
    private handleSlotChange;
    private syncSlotContentState;
    render(): import('lit').TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        'cx-asset-data-display': CxAssetDataDisplay;
    }
}
