import { default as CxButton } from '../../../../../atoms/src/components/button/button.ts';
import { default as CxDialog } from '../../../../../atoms/src/components/dialog/dialog.ts';
import { default as CxIconButton } from '../../../../../atoms/src/components/icon-button/icon-button.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 { default as CxFolderSelect } from '../../../../../molecules/src/folder-select/folder-select.ts';
import { FolderSelectVariant } from '../../../../../types/src/folder-select';
import { CSSResultGroup } from 'lit';

/**
 * @summary CxPagePicker
 */
export default class CxPagePicker extends CortexElement {
    #private;
    static readonly styles: CSSResultGroup;
    static readonly dependencies: {
        'cx-button': typeof CxButton;
        'cx-dialog': typeof CxDialog;
        'cx-folder-select': typeof CxFolderSelect;
        'cx-icon-button': typeof CxIconButton;
        'cx-space': typeof CxSpace;
        'cx-typography': typeof CxTypography;
    };
    private readonly localize;
    dialog: CxDialog;
    selectEl: CxFolderSelect;
    /**
     * The boundary property of the confirm popover's dropdown/dialog popup.
     */
    boundary: HTMLElement;
    name: string;
    value: string;
    variant: FolderSelectVariant;
    /**
     * The select's required attribute.
     */
    required: boolean;
    selectedLabel: string;
    private open;
    constructor();
    fetchSelectedPage(): Promise<void>;
    /**
     * Wrapper function to adapt apiGetPagesAndLinks to FolderSelectApi signature
     * This follows the same pattern as gallery-config to detect and set the label
     * when the selected page is found in the API response
     */
    private apiGetPagesAndLinks;
    get selectedPage(): {
        id?: string;
        url?: string;
    } | undefined;
    runFirstUpdated(): void;
    private handleSelectionChange;
    private handleRequestPageClick;
    private handleClear;
    private handleRequestClose;
    private handleSaveClick;
    render(): import('lit').TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        'cx-page-picker': CxPagePicker;
    }
}
