import { NgtxElement, NgtxMultiElement } from '../core'; import { ElementList, ElementListRef, TargetRef } from './types'; export declare function asArray(value: T | T[]): T[]; /** * Takes a value and checks if it is already an array of the desired length. If it is, is simply returns it unmodified. * If it is no array, but a single value, the function will turn it into an array with the desired length, * filled with copies of the single value. * * If it is an array, but not matching the desired length, and having more than one item in it, this function will throw, * as this indicates that the user made some error regarding their expectation of the test-state. * * @param length The array length that is the desired length for the output-array. * @param value The value, possibly already an array, that should be transformed into an array with the desired len gth. * @returns An array with the desired length, containing the original values (if they matched the length beforehand) or an array containing the copy of the single value the desired-length-times. */ export declare function expandValueToArrayWithLength(length: number, value: T | T[]): T[]; export declare function tryResolveTarget(targets: ElementListRef, callerName: string): ElementList; export declare function asElementList(value: NgtxElement | NgtxMultiElement): ElementList; export declare function asNgtxElementListRef(target: TargetRef): ElementListRef; export declare function checkListsHaveSameSize(fnName: string, expectations: { length: number; }, matches: { length: number; }): void; export declare function scheduleFn(fnArray: undefined | (() => void)[], fn: () => void): (() => void)[]; export declare function getAllProperties(obj: T): (keyof T)[];