import { default as CxGrid } from '../../../atoms/src/components/grid/grid.ts';
import { default as CxGridItem } from '../../../atoms/src/components/grid-item/grid-item.ts';
import { default as CxIconButton } from '../../../atoms/src/components/icon-button/icon-button.ts';
import { default as CxLineClamp } from '../../../atoms/src/components/line-clamp/line-clamp.ts';
import { default as CxSpace } from '../../../atoms/src/components/space/space.ts';
import { default as CxTypography } from '../../../atoms/src/components/typography/typography.ts';
import { default as CortexElement } from '../../../base/src/cortex-element.ts';
import { CSSResultGroup, TemplateResult } from 'lit';

/**
 * @summary The <cx-typeface> component is used to display a typeface.
 *
 */
export default class CxTypeface extends CortexElement {
    static readonly styles: CSSResultGroup;
    static readonly dependencies: {
        'cx-grid': typeof CxGrid;
        'cx-grid-item': typeof CxGridItem;
        'cx-icon-button': typeof CxIconButton;
        'cx-line-clamp': typeof CxLineClamp;
        'cx-space': typeof CxSpace;
        'cx-typography': typeof CxTypography;
    };
    private readonly localize;
    /**
     * The text to display in the preview.
     */
    previewText: string;
    /**
     * The font family to display.
     */
    fontFamily: string;
    /**
     * The font weight to display.
     */
    fontWeight: string;
    /**
     * The font style to display.
     */
    fontStyle: string;
    /**
     * The font source to display.
     */
    fontSrc: string;
    /**
     * Whether the font can be downloaded. Font source must be set to enable this.
     */
    canDownload: boolean;
    /**
     * The icon name to use for the download button.
     */
    downloadIconName: string;
    /**
     * The icon src to use for the download button.
     */
    downloadIconSrc: string;
    /**
     * Whether the font can be downloaded internally.
     */
    canSelfDownload: boolean;
    /**
     * The variant to display.
     */
    variant: 'compact' | 'detailed';
    private handleDownload;
    render(): TemplateResult;
}
declare global {
    interface HTMLElementTagNameMap {
        'cx-typeface': CxTypeface;
    }
}
