import { ComponentWrapper, ElementWrapper } from '@cloudscape-design/test-utils-core/dom';
import TextFilterWrapper from '../text-filter';
import ToggleWrapper from '../toggle';
export declare class ContentDisplayOptionWrapper extends ComponentWrapper {
    private getListItem;
    /**
     * Returns the drag handle for the option item.
     */
    findDragHandle(): ElementWrapper;
    /**
     * Returns the text label displayed in the option item.
     */
    findLabel(): ElementWrapper;
    /**
     * Returns the visibility toggle for the option item.
     * Note that, despite its typings, this may return null for group items since groups do not have a visibility toggle.
     */
    findVisibilityToggle(): ToggleWrapper;
    /**
     * Returns all child option items nested under this item when it is a group.
     * Returns `null` when this item is a leaf column (has no nested children).
     *
     * The children are the leaf-level `ContentDisplayOptionWrapper`s inside the group's
     * nested `InternalList` — i.e. they already carry a drag handle and visibility toggle.
     *
     * @param option.group When `true`, returns only group items. When `false`, returns only leaf column items.
     *   When omitted, returns all child items regardless of type.
     */
    findChildrenOptions(option?: {
        group?: boolean;
    }): Array<ContentDisplayOptionWrapper> | null;
}
export default class ContentDisplayPreferenceWrapper extends ComponentWrapper {
    static rootSelector: string;
    /**
     * Returns the title.
     */
    findTitle(): ElementWrapper;
    /**
     * Returns the preference description displayed below the title.
     */
    findDescription(): ElementWrapper;
    private getList;
    /**
     * Returns an option for a given index.
     *
     * @param index 1-based index of the option to return.
     */
    findOptionByIndex(index: number): ContentDisplayOptionWrapper | null;
    /**
     * Returns the top-level items in the preference list.
     *
     * For tables **without** column grouping this returns all column options.
     * For tables **with** column grouping this returns the top-level entries only
     * (which are group items). Use `.findChildrenOptions()` on a group item to
     * access the leaf columns nested within it.
     *
     * @param option.group When `true`, returns only group items. When `false`, returns only leaf column items.
     *   When omitted, returns all top-level items regardless of type.
     * @param option.visible When `true`, returns only visible items. When `false`, returns only hidden items.
     *   Note that group items have no visibility toggle and are excluded when this filter is active.
     */
    findOptions(option?: {
        group?: boolean;
    }): Array<ContentDisplayOptionWrapper>;
    /**
     * Returns the text filter input.
     */
    findTextFilter(): TextFilterWrapper | null;
    /**
     * Returns no match with the clear filter button.
     */
    findNoMatch(): ElementWrapper | null;
}
