import type * as puppeteer from 'puppeteer-core';
import type { DevToolsPage } from '../shared/frontend-helper.js';
export declare const MEMORY_TAB_ID = "#tab-heap-profiler";
export declare const SELECTED_RESULT = "#profile-views table.data tr.data-grid-data-grid-node.revealed.parent.selected";
export declare function navigateToMemoryTab(devToolsPage: DevToolsPage): Promise<void>;
export declare function takeDetachedElementsProfile(devToolsPage: DevToolsPage): Promise<void>;
export declare function takeAllocationProfile(devToolsPage: DevToolsPage): Promise<void>;
export declare function takeAllocationTimelineProfile({ recordStacks }: {
    recordStacks: boolean;
} | undefined, devToolsPage: DevToolsPage): Promise<void>;
export declare function takeHeapSnapshot(name: string | undefined, devToolsPage: DevToolsPage): Promise<void>;
export declare function waitForHeapSnapshotData(devToolsPage: DevToolsPage): Promise<puppeteer.ElementHandle<Element>[]>;
export declare function waitForNonEmptyHeapSnapshotData(devToolsPage: DevToolsPage): Promise<void>;
export declare function getDataGridRows(selector: string, devToolsPage: DevToolsPage): Promise<puppeteer.ElementHandle<Element>[]>;
export declare function setClassFilter(text: string, devToolsPage: DevToolsPage): Promise<void>;
export declare function setSearchFilter(text: string, devToolsPage: DevToolsPage): Promise<void>;
export declare function waitForSearchResultNumber(results: number, devToolsPage: DevToolsPage): Promise<puppeteer.ElementHandle<Element>>;
/**
 *
 * @param searchResult
 * @param searchMatch Leave undefined if you want to go over all instances
 * @param devToolsPage
 */
export declare function findSearchResult(searchResult: string, searchMatch: string | RegExp | undefined, devToolsPage: DevToolsPage): Promise<void>;
interface RetainerChainEntry {
    propertyName: string;
    retainerClassName: string;
}
export declare function checkRetainerChainSatisfies(p: (retainerChain: RetainerChainEntry[]) => boolean, devToolsPage: DevToolsPage): Promise<boolean>;
export declare function waitUntilRetainerChainSatisfies(p: (retainerChain: RetainerChainEntry[]) => boolean, devToolsPage: DevToolsPage): Promise<void>;
export declare function appearsInOrder(targetArray: string[], inputArray: string[]): boolean;
export declare function waitForRetainerChain(expectedRetainers: string[], devToolsPage: DevToolsPage): Promise<void>;
export declare function changeViewViaDropdown(newPerspective: string, devToolsPage: DevToolsPage): Promise<void>;
export declare function changeAllocationSampleViewViaDropdown(newPerspective: string, devToolsPage: DevToolsPage): Promise<void>;
export declare function focusTableRowWithName(text: string, devToolsPage: DevToolsPage): Promise<void>;
export declare function focusTableRow(row: puppeteer.ElementHandle<Element>, devToolsPage: DevToolsPage): Promise<void>;
export declare function expandFocusedRow(devToolsPage: DevToolsPage): Promise<void>;
export declare function getSizesFromSelectedRow(devToolsPage: DevToolsPage): Promise<{
    shallowSize: number;
    retainedSize: number;
}>;
export declare function getCategoryRow(text: string, wait: true | undefined, devToolsPage: DevToolsPage): ReturnType<DevToolsPage['waitFor']>;
export declare function getCategoryRow(text: string, wait: false, devToolsPage: DevToolsPage): ReturnType<DevToolsPage['$']>;
export declare function getSizesFromCategoryRow(text: string, devToolsPage: DevToolsPage): Promise<{
    shallowSize: number;
    retainedSize: number;
}>;
export declare function getDistanceFromCategoryRow(text: string, devToolsPage: DevToolsPage): Promise<number>;
export declare function getCountFromCategoryRowWithName(text: string, devToolsPage: DevToolsPage): Promise<number>;
export declare function getCountFromCategoryRow(row: puppeteer.ElementHandle<Element>, devToolsPage: DevToolsPage): Promise<number>;
export declare function getAddedCountFromComparisonRowWithName(text: string, devToolsPage: DevToolsPage): Promise<number>;
export declare function getAddedCountFromComparisonRow(row: puppeteer.ElementHandle<Element>, devToolsPage: DevToolsPage): Promise<number>;
export declare function getRemovedCountFromComparisonRow(row: puppeteer.ElementHandle<Element>, devToolsPage: DevToolsPage): Promise<number>;
export declare function clickOnContextMenuForRetainer(retainerName: string, menuItem: string, devToolsPage: DevToolsPage): Promise<void>;
export declare function restoreIgnoredRetainers(devToolsPage: DevToolsPage): Promise<void>;
export declare function setFilterDropdown(filter: string, devToolsPage: DevToolsPage): Promise<void>;
export {};
