/** * 创建可以被控制 promise,以便于在一条 timeline 上对测试流程上进行控制 * 可参考 components/button/src/index.spec.tsx 中 async action loading with delay 部分 */ export interface ControlledPromise { promise: Promise; resolve: (result?: PT) => Promise; reject: (error?: any) => Promise; } export declare function createControlledPromise(): ControlledPromise; export declare function clearDocumentBody(): void; export declare function mockGetBoundingClientRect($el: HTMLElement, rect?: Partial): void; export declare function mockElementPropValue($el: HTMLElement, propName: keyof HTMLElement, value: unknown): void; export declare function mockElementProps($el: HTMLElement, props: Record): void; export declare class DOMRectMock { x: number; y: number; width: number; height: number; top: number; bottom: number; left: number; right: number; constructor(options: Partial); toJSON(): string; } export declare function createDOMRectMock(options: Partial): DOMRectMock;