import { default as CxOption } from '../../../../../atoms/src/components/option/option.ts';
import { default as CxSelect } from '../../../../../atoms/src/components/select/select.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';

export type CxAssetLinkFormatExtensionChangeEvent = CustomEvent<string>;
declare global {
    interface GlobalEventHandlersEventMap {
        'cx-asset-link-format-extension-change': CxAssetLinkFormatExtensionChangeEvent;
    }
}
/**
 * @summary The `cx-asset-link-format-extension` component is used to select the file extension for an asset link format.
 *
 * @event `cx-asset-link-format-extension-change` - Emitted when the extension is changed.
 */
export default class CxAssetLinkFormatExtension extends CortexElement {
    static readonly styles: CSSResultGroup;
    static readonly dependencies: {
        'cx-option': typeof CxOption;
        'cx-select': typeof CxSelect;
        'cx-space': typeof CxSpace;
        'cx-typography': typeof CxTypography;
    };
    private readonly localize;
    /**
     * The value of the selected extension.
     * This is a string that represents the file extension, such as '.jpg', '.png
     */
    value: string;
    /**
     * The list of available extensions.
     * This is an array of objects, each containing a `displayName` and a `value`.
     * The `displayName` is shown in the dropdown, and the `value` is the actual file extension that will be used.
     */
    items: Array<{
        displayName: string;
        value: string;
    }>;
    private handleExtensionChange;
    render(): TemplateResult;
}
declare global {
    interface HTMLElementTagNameMap {
        'cx-asset-link-format-extension': CxAssetLinkFormatExtension;
    }
}
