import { Page } from '@playwright/test';
/** Префикс сообщений о toast-ошибках; для распознавания в catch-блоках вызывающего кода. */
export declare const UI_NOTIFICATION_ERROR_PREFIX = "\u041E\u0431\u043D\u0430\u0440\u0443\u0436\u0435\u043D\u044B \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F \u043E\u0431 \u043E\u0448\u0438\u0431\u043A\u0430\u0445";
export interface UiNotificationErrorOptions {
    /** Описание действия в предложном падеже, например «сохранении блока X» */
    actionDescription?: string;
    /** Добавить URL страницы в сообщение */
    includeUrl?: boolean;
}
/**
 * Проверяет, что исключение — сообщение о toast-ошибке из {@link UiNotificationService}.
 */
export declare function isUiNotificationError(error: unknown): boolean;
/**
 * Поиск и проверка toast-уведомлений об ошибках и успехе на UI.
 */
export declare class UiNotificationService {
    private readonly page;
    constructor(page: Page);
    private findVisibleErrors;
    private tryFindErrors;
    /**
     * Формирует текст ошибки по найденным toast-уведомлениям.
     * @param errors — тексты видимых уведомлений об ошибке
     * @param options.actionDescription — описание действия в предложном падеже
     * @param options.includeUrl — добавить URL страницы в сообщение
     */
    private formatErrorsMessage;
    /**
     * Проверяет видимые toast-ошибки и бросает исключение, если они найдены.
     * @param options — контекст действия и опции сообщения
     */
    private throwIfErrorsFound;
    /**
     * Выполняет действие; после завершения и при ошибке проверяет toast-уведомления UI.
     * @param actionDescription — описание действия в предложном падеже, например «сохранении блока X»
     * @param action — шаги, которые могут завершиться ошибкой
     * @param options.includeUrl — добавить URL страницы в сообщение об ошибке
     * @returns результат выполнения `action`
     */
    executeWithErrorCheck<T>(actionDescription: string, action: () => Promise<T>, options?: Omit<UiNotificationErrorOptions, 'actionDescription'>): Promise<T>;
    /**
     * Проверяет отсутствие toast-ошибок на странице.
     * @param logContext — контекст для логирования
     */
    assertNoErrors(logContext: string): Promise<void>;
    checkSuccessMessage(message: string): Promise<void>;
}
