import { HTMLAttributes, ReactNode } from 'react';
export interface PreferencesDialogProps extends Omit<HTMLAttributes<HTMLDivElement>, "title"> {
    /** Whether the dialog is open. */
    open: boolean;
    /** Called when the user requests to close the dialog. */
    onClose: () => void;
    /**
     * `PreferencesPage` children. Each page appears as a sidebar entry.
     * When only one page is provided the sidebar is hidden.
     */
    children?: ReactNode;
    /**
     * Whether to show a search bar in the header.
     * When `true` the user can filter group/row content by typing.
     * Defaults to `true`.
     */
    searchable?: boolean;
}
/**
 * Multi-page settings dialog using `PreferencesPage` tabs.
 *
 * Renders a wide modal with an optional sidebar listing pages. Each
 * `PreferencesPage` child becomes a navigation entry. Supports built-in
 * search when `searchable` is `true` (the default).
 *
 * Mirrors `AdwPreferencesDialog`.
 *
 * @example
 * ```tsx
 * <PreferencesDialog open={open} onClose={() => setOpen(false)}>
 *   <PreferencesPage title="General" iconName="preferences-system-symbolic">
 *     <PreferencesGroup title="Appearance">
 *       <BoxedList>
 *         <SwitchRow title="Dark mode" />
 *       </BoxedList>
 *     </PreferencesGroup>
 *   </PreferencesPage>
 * </PreferencesDialog>
 * ```
 *
 * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.PreferencesDialog.html
 */
export declare function PreferencesDialog({ open, onClose, children, searchable, className, ...props }: PreferencesDialogProps): import('react').ReactPortal | null;
