import '/strings.m.js';
import '//bookmarks-side-panel.top-chrome/shared/sp_heading.js';
import 'chrome://resources/cr_elements/cr_button/cr_button.js';
import 'chrome://resources/cr_elements/cr_dialog/cr_dialog.js';
import 'chrome://resources/cr_elements/cr_icon_button/cr_icon_button.js';
import 'chrome://resources/cr_elements/cr_input/cr_input.js';
import 'chrome://resources/cr_elements/cr_lazy_list/cr_lazy_list.js';
import type { CrDialogElement } from 'chrome://resources/cr_elements/cr_dialog/cr_dialog.js';
import type { CrInputElement } from 'chrome://resources/cr_elements/cr_input/cr_input.js';
import { CrLitElement } from 'chrome://resources/lit/v3_0/lit.rollup.js';
import type { PropertyValues } from 'chrome://resources/lit/v3_0/lit.rollup.js';
import type { BookmarksTreeNode } from './bookmarks.mojom-webui.js';
export declare const TEMP_FOLDER_ID_PREFIX = "tmp_new_folder_";
export interface PowerBookmarksEditDialogElement {
    $: {
        dialog: CrDialogElement;
        nameInput: CrInputElement;
        urlInput: CrInputElement;
        folderSelector: HTMLElement;
    };
}
export declare class PowerBookmarksEditDialogElement extends CrLitElement {
    static get is(): string;
    static get styles(): import("chrome://resources/lit/v3_0/lit.rollup.js").CSSResultGroup;
    render(): import("chrome://resources/lit/v3_0/lit.rollup.js").TemplateResult<1>;
    static get properties(): {
        topLevelBookmarks_: {
            type: ArrayConstructor;
        };
        selectedBookmarks_: {
            type: ArrayConstructor;
        };
        selectedFolder_: {
            type: ObjectConstructor;
        };
        activeFolderPath_: {
            type: ArrayConstructor;
        };
        newFolders_: {
            type: ArrayConstructor;
        };
        moveOnly_: {
            type: BooleanConstructor;
        };
        newFolderName_: {
            type: StringConstructor;
        };
        showNewFolderInput_: {
            type: BooleanConstructor;
        };
        shownFolders_: {
            type: ArrayConstructor;
        };
        listScrollTarget_: {
            type: ObjectConstructor;
        };
    };
    protected accessor topLevelBookmarks_: BookmarksTreeNode[];
    protected accessor selectedBookmarks_: BookmarksTreeNode[];
    protected accessor selectedFolder_: BookmarksTreeNode | undefined;
    protected accessor activeFolderPath_: BookmarksTreeNode[];
    protected accessor newFolders_: BookmarksTreeNode[];
    protected accessor moveOnly_: boolean;
    protected accessor newFolderName_: string;
    protected accessor showNewFolderInput_: boolean;
    protected accessor shownFolders_: BookmarksTreeNode[];
    protected accessor listScrollTarget_: HTMLElement;
    willUpdate(changedProperties: PropertyValues<this>): void;
    firstUpdated(changedProperties: PropertyValues<this>): void;
    showDialog(activeFolderPath: BookmarksTreeNode[], topLevelBookmarks: BookmarksTreeNode[], selectedBookmarks: BookmarksTreeNode[], moveOnly: boolean): void;
    private isAvailableFolder_;
    protected getDialogTitle_(): string;
    protected getBookmarkName_(): string;
    protected getBookmarkUrl_(): string;
    private getActiveFolder_;
    protected getActiveFolderTitle_(): string;
    private getFolderTitle_;
    private computeShownFolders_;
    protected getBackButtonLabel_(): string;
    protected getForwardButtonTooltip_(folder: BookmarksTreeNode): string;
    protected getForwardButtonLabel_(folder: BookmarksTreeNode): string;
    protected hasAvailableChildFolders_(folder: BookmarksTreeNode): boolean;
    private validateUrl_;
    protected isSelected_(folder: BookmarksTreeNode): boolean;
    private getShownFolder_;
    protected onBackButtonClick_(): void;
    protected onForwardClick_(event: MouseEvent): void;
    protected onFolderClick_(event: MouseEvent): void;
    protected onNewFolderClick_(): void;
    protected onNewFolderInputDomChange_(): void;
    protected onNewFolderNameValueChanged_(event: CustomEvent<{
        value: string;
    }>): void;
    protected onNewFolderInputKeydown_(event: KeyboardEvent): void;
    protected onBlur_(event: KeyboardEvent): void;
    private saveNewFolder_;
    protected onCancelClick_(): void;
    protected onSaveClick_(): void;
    private close_;
}
declare global {
    interface HTMLElementTagNameMap {
        'power-bookmarks-edit-dialog': PowerBookmarksEditDialogElement;
    }
}
