/**
 * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
 */
/**
 * @module ai/aichat/ui/controls/aichatcontextpanelurlinputview
 */
import { FocusTracker, KeystrokeHandler, type Locale } from '@ckeditor/ckeditor5-utils';
import { ButtonView, FocusCycler, LabeledFieldView, View, type InputTextView, type ViewWithFocusCycler } from '@ckeditor/ckeditor5-ui';
/**
 * A view for URL input in the AI chat context panel.
 * Provides a form with input field and submit/cancel buttons with proper focus management.
 */
export declare class AIChatContextPanelUrlInputView extends View implements ViewWithFocusCycler {
    /**
     * Tracks information about DOM focus in the form.
     */
    readonly focusTracker: FocusTracker;
    /**
     * An instance of the {@link module:utils/keystrokehandler~KeystrokeHandler}.
     */
    readonly keystrokes: KeystrokeHandler;
    /**
     * Helps cycling over {@link #_focusables} in the form.
     */
    readonly focusCycler: FocusCycler;
    /**
     * The URL input field.
     */
    readonly urlInputField: LabeledFieldView<InputTextView>;
    /**
     * The back button.
     */
    readonly backButton: ButtonView;
    /**
     * The confirm button.
     */
    readonly confirmButton: ButtonView;
    /**
     * Indicates if the back button should be visible.
     */
    withBackButton: boolean;
    constructor(locale: Locale);
    /**
     * @inheritDoc
     */
    render(): void;
    /**
     * @inheritDoc
     */
    destroy(): void;
    /**
     * Focuses the URL input field.
     */
    focus(): void;
    /**
     * Gets the current URL value.
     */
    getValue(): string;
    /**
     * Clears the URL input field.
     */
    clear(): void;
    /**
     * Sets an error message on the URL input field.
     */
    setError(message: string): void;
    /**
     * Clears any error on the URL input field.
     */
    clearError(): void;
}
/**
 * Event fired when the URL form is submitted.
 */
export type UrlInputSubmitEvent = {
    name: 'submitUrl';
    args: [url: string];
};
/**
 * Event fired when the URL form is cancelled.
 */
export type UrlInputCancelEvent = {
    name: 'cancel';
    args: [];
};
/**
 * Event fired when the balloon should be repositioned due to content size changes.
 */
export type RefreshBalloonEvent = {
    name: 'refreshBalloon';
    args: [];
};
