import { ISuperElement, ISuperHTMLElement, ISuperNode } from '@ulixee/awaited-dom/base/interfaces/super'; export default interface IDomState { url?: string | RegExp; all: IDomStateAllFn; } type IAwaitedNode = ISuperNode | ISuperElement | ISuperHTMLElement; type DomNodeOrPromiseValue = T extends PromiseLike ? R : T extends IAwaitedNode ? T : never; export type IDomStateAllFn = (options: IDomStateAssertions) => void; export type IStateAndAssertion = [ statePromise: T, assertionFnOrValue?: ((state: DomNodeOrPromiseValue) => boolean) | DomNodeOrPromiseValue ]; export type IDomStateAssertions = (statePromise: T, assertionFnOrValue?: ((state: DomNodeOrPromiseValue) => boolean) | DomNodeOrPromiseValue) => void; export {};