import type { UmbValidationMessageTranslator } from '../translators/validation-message-path-translator.interface.js'; import type { Observable } from '../../../../external/rxjs/index.js'; export type UmbValidationMessageType = 'client' | 'server' | 'config' | string; export interface UmbValidationMessage { type: UmbValidationMessageType; key: string; path: string; body: string; } export declare class UmbValidationMessagesManager { #private; messages: Observable; filteredMessages: Observable; getNotFilteredMessages(): Array; getMessages(): Array; debug(logName: string): void; debugFiltered(logName: string): void; filter(method: (msg: UmbValidationMessage) => boolean): void; initiateChange(): void; finishChange(): void; getHasAnyMessages(): boolean; getMessagesOfPathAndDescendant(path: string): Array; getHasMessageOfPathAndBody(path: string, body: string): boolean; messagesOfPathAndDescendant(path: string): Observable>; messagesOfTypeAndPath(type: UmbValidationMessageType, path: string): Observable>; messagesOfNotTypeAndPath(type: UmbValidationMessageType, path: string): Observable>; hasMessagesOfPathAndDescendant(path: string): Observable; getHasMessagesOfPathAndDescendant(path: string): boolean; addMessage(type: UmbValidationMessageType, path: string, body: string, key?: string): void; addMessages(type: UmbValidationMessageType, path: string, bodies: Array): void; addMessageObjects(messages: Array): void; removeMessageByKey(key: string): void; removeMessageByKeys(keys: Array): void; removeMessagesByType(type: UmbValidationMessageType): void; removeMessagesByPath(path: string): void; removeMessagesAndDescendantsByPath(path: string): void; removeMessagesByTypeAndPath(type: UmbValidationMessageType, path: string): void; addTranslator(translator: UmbValidationMessageTranslator): void; removeTranslator(translator: UmbValidationMessageTranslator): void; clear(): void; destroy(): void; }