/**
 * In targetWindow (defaults to this window), search for an iframe with
 * the specific id and return the attribute.
 */
export declare function getAttributeFromIFrame<T = any>(frameId: string, attribute: string, targetWindow?: Window): T | null;
/** Return the frame of this window, which is an iframe. */
export declare function findIFrame(): Element;
/** Find the parent element (whatever it is) of this iframe. */
export declare function findParentOfIFrame(): HTMLElement | null;
/**
 * Set this iframe's display style to none. visibility would still
 * leave it participating in layout calculations.
 */
export declare function setDisplayNoneForThisIFrame(): void;
/**
 * Return WEB|UCI|null based on the iframe parent layout. You can also use
 * Utils.isUci. This is highly hacky and probably subject to change. Use
 * your own if you can.
 */
export declare function guessLayout(): "WEB" | "UNIFIED" | null;
export interface AdjustProps {
    [styleName: string]: string;
}
export declare const uciFormLineProps: AdjustProps;
/**
 * Adjust parent object assuming "this" el is
 * a web resource. Do nothing if layout is not UNIFIED. Uses "guessLayout".
 * Write your own adjustment function if you do not like this version.
 */
export declare function adjustFormLineForUci(props?: AdjustProps): void;
/**
 * Search up the parent, starting at `start`'s parent, until
 * predicate is true or return null.
 */
export declare function findParent(start: Node | null, predicate: (el: Node) => boolean): Node | null;
/**
 * Given a target, if its is an <iframe>, create a new target
 * as a peer that takes into account UCI or non-UCI interfaces. Otherwise,
 * find the target if its a string or return it directly if its already
 * an HTMLElement (of any kind except iframe). `newProps` is used if a
 * new element needs to be created otherwise a simple div with no id or
 * classname is created.
 */
export declare function getOrMakeTarget(target: string | HTMLElement | null, newProps?: {
    div?: string;
    id?: string;
    className?: string;
}): HTMLElement | null;
/**
 * Move stylesheets via importNode and appendChil from source to target
 * documents.
 */
export declare function moveStylesheetsToParent(source?: Document, target?: Document): void;
