import * as i0 from "@angular/core"; export declare class UtilsService { private readonly document; private readonly viewportScroller; /** * Converts the first letter of a string to uppercase. * @param str - The input string. * @returns The input string with the first letter capitalized. */ upperCaseFirstLetter(str: string): string; /** * Converts the entire string to uppercase. * @param str - The input string. * @returns The input string in uppercase. */ upperCaseAllLetters(str: string): string; /** * Converts a finite number or decimal string to a GBP monetary string. * String values may use a leading minus, correctly positioned thousands separators, and surrounding whitespace. * @param amount - The numeric value to convert. * @returns The formatted monetary value, or an empty string when the input is invalid. */ convertToMonetaryString(amount: number | string): string; /** * Formats a 6-digit number or string as a sort code. * @param value - The 6-digit value to format. * @returns The formatted sort code string (xx-xx-xx). */ formatSortCode(value: string | number): string; /** * Filters out null or empty strings from an array of address lines. * * @param address - An array of address lines which may contain strings or null values. * @returns A new array containing only non-empty strings from the input array. */ formatAddress(address: (string | null)[]): string[]; /** * Scrolls the viewport to the top of the page. * Utilizes the `viewportScroller` service to scroll to the position [0, 0]. */ scrollToTop(): void; /** * Moves focus to an element by ID. * A temporary tabindex allows a normally non-focusable element to receive programmatic focus. * * @param elementId - The ID of the element to focus. * @param options - Options passed to the element's focus method. */ focusElementById(elementId: string, options?: FocusOptions): void; /** * Moves focus to the main content landmark and scrolls the viewport to the top of the page. * A temporary tabindex allows the normally non-focusable landmark to receive programmatic focus. */ focusAndScrollToTop(): void; checkFormValues(form: { [key: string]: any; }): boolean; checkFormArrayValues(forms: { [key: string]: any; }[]): boolean; getFormStatus(form: { [key: string]: any; }, providedMessage: string, notProvidedMessage: string): string; getArrayFormStatus(forms: { [key: string]: any; }[], providedMessage: string, notProvidedMessage: string): string; /** * Copies the provided string value to the clipboard. * * @param value - The string value to be copied to the clipboard. * * @remarks * This method uses the `navigator.clipboard.writeText` API to copy text to the clipboard. * Ensure that the browser supports the Clipboard API before using this method. */ copyToClipboard(value: string): Promise; /** * Recursively filters out properties from an object where the value is `null` or `undefined`. * * @param obj - The object to filter. Can include nested objects. * @returns A new object with only non-null and non-undefined values. * * @example * ```ts * const input = { * a: 1, * b: null, * c: undefined, * d: 'hello', * e: { x: null, y: 2 }, * f: { z: undefined }, * }; * const result = filterNullOrUndefined(input); * console.log(result); // Output: { a: 1, d: 'hello', e: { y: 2 } } * ``` */ filterNullOrUndefined(obj: Record): Record; /** * Strips out the first parentheses block from the given text. * This method looks for the first occurrence of parentheses in the text, * removes the content within them, and returns the modified text. * @param {string} text - The text from which to strip the first parentheses block. * @returns {string} - The modified text with the first parentheses block removed. */ stripFirstParenthesesBlock(text: string): string; /** * Determines whether the provided object has at least one property set to a meaningful value. * * A property is considered "set" if: * - It is a boolean and its value is `true`. * - It is not a boolean and its value is neither `null` nor an empty string. * * @param value - The object to check for set properties. Can be `null` or `undefined`. * @returns `true` if at least one property is set; otherwise, `false`. */ hasSetProperty(value: object | null | undefined): boolean; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }