/**
 * Copyright (c) 2025, Salesforce, Inc.
 * All rights reserved.
 * For full license text, see the LICENSE file or https://utam.dev/salesforce/license
 */
import { Driver as _Driver, Element as _Element, Locator as _Locator, ContainerCtor as _ContainerCtor, UtamBasePageObject as _UtamBasePageObject } from '@utam/core';
import _MessageActionable from 'salesforce-pageobjects/feeds/chat/pageObjects/messageActionable';
import _SelectSingleRecordId from 'salesforce-pageobjects/feeds/chat/pageObjects/selectSingleRecordId';
import _ViewRecordList from 'salesforce-pageobjects/feeds/chat/pageObjects/viewRecordList';
import _BaseButtonComplete from 'salesforce-pageobjects/feeds/chat/pageObjects/baseButtonComplete';

/**
 * This LWC component dynamically renders a list of child components based on the provided component definition. It is designed to handle value change events and can be configured to be disabled or read-only.
 * Selector: feed_chat-view-component
 * generated from JSON dist/feeds/chat/viewComponent.utam.json
 * @version 2026-03-09T13:56:35.703Z
 * @author Salesforce
 */
declare class ViewComponent extends _UtamBasePageObject {
    constructor(driver: _Driver, element?: _Element, locator?: _Locator);
    waitForMessageActionable(): Promise<_MessageActionable>;
    /**
     * Container for the dynamic component that handles value change events.
     */
    getDynamicComponentContainer<T extends _UtamBasePageObject>(ContainerCtor: _ContainerCtor<T>): Promise<T>;
    getSelectSingleRecordId(): Promise<_SelectSingleRecordId>;
    getViewRecordList(): Promise<_ViewRecordList>;
    getMessageActionable(): Promise<_MessageActionable>;
    /**
     * Recursive reference to same component inside dynamic component
     */
    getViewComponentInActionLayout(): Promise<ViewComponent | null>;
    getBaseButtonCompleteInActionButton(): Promise<_BaseButtonComplete>;
    getBaseButtonComplete(): Promise<_BaseButtonComplete>;
    /**
     * Recursive reference to same component inside dynamic component
     */
    getViewComponents(): Promise<ViewComponent[]>;
}
export = ViewComponent;
