import { ReactNode } from "react";
import { PropertyMeta } from "../../core/property-meta";
import { VoidFunc } from "../../../../fd-toolbox/functions/internal-getter-setter-functions";
import { WithParentContextName } from "../../../../fd-toolbox/types/with-parent-context-name";
import { BrowserDisplayMode } from "../../../../fd-toolbox/enums/enums";
/**
 * Props for the {@link Browser} component.
 * Extends {@link WithParentContextName} for parent context integration.
 */
export interface BrowserProps extends WithParentContextName {
    /** Whether the browser field is required */
    required: boolean;
    /** Metadata for the property being browsed */
    propertyMeta: PropertyMeta;
    /** Array of resource ids to exclude from selection */
    excludeResourceIds?: string[];
    /** Whether the browser is disabled */
    disabled?: boolean;
    /** Whether the browser is read-only */
    readOnly?: boolean;
    /**
     * Display mode of the browser.
     * {@link browserDisplayModes.default} shows the standard browser view.
     * {@link browserDisplayModes.short} shows the compact view.
     */
    displayMode?: BrowserDisplayMode;
    /**
     * Event handler called when the selected value changes.
     * Receives the selected resource uuid as string parameter.
     */
    onChange?: VoidFunc<string>;
    /** Id of a related resource to pre-populate the browser */
    relatedResourceId?: string;
    /** Current selected resource id (typically the form field value) */
    value?: string;
    /** Whether the field is in error state (for aria-invalid / styling) */
    invalid?: boolean;
    /** Child elements to render inside the input (typically action buttons) */
    children: ReactNode;
}
/**
 * Browser component for single resource selection with integrated search dialog.
 * Used for many-to-one relationships.
 * {@link BrowserProps} - component props
 */
export declare function Browser({ required, propertyMeta, onChange, excludeResourceIds, displayMode, disabled, readOnly, parentContextName, relatedResourceId, value, invalid, children: icons, }: BrowserProps): import("react").JSX.Element;
