/// <reference types="react" />
import "pepjs";
import { queries, RenderResult, RenderOptions } from "@testing-library/react";
import { ImportedDataState } from "../data/types";
import { SceneData } from "../types";
import { ExcalidrawElement } from "../element/types";
declare const customQueries: {
    queryByToolName: import("@testing-library/react").QueryBy<string[]>;
    getAllByToolName: import("@testing-library/react").GetAllBy<string[]>;
    getByToolName: import("@testing-library/react").GetBy<string[]>;
    findAllByToolName: import("@testing-library/react").FindAllBy<string[]>;
    findByToolName: import("@testing-library/react").FindBy<string[]>;
    getByLabelText<T extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").SelectorMatcherOptions | undefined): T;
    getAllByLabelText<T_1 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").SelectorMatcherOptions | undefined): T_1[];
    queryByLabelText<T_2 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").SelectorMatcherOptions | undefined): T_2 | null;
    queryAllByLabelText<T_3 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").SelectorMatcherOptions | undefined): T_3[];
    findByLabelText<T_4 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").SelectorMatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined): Promise<T_4>;
    findAllByLabelText<T_5 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").SelectorMatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined): Promise<T_5[]>;
    getByPlaceholderText<T_6 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): T_6;
    getAllByPlaceholderText<T_7 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): T_7[];
    queryByPlaceholderText<T_8 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): T_8 | null;
    queryAllByPlaceholderText<T_9 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): T_9[];
    findByPlaceholderText<T_10 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined): Promise<T_10>;
    findAllByPlaceholderText<T_11 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined): Promise<T_11[]>;
    getByText<T_12 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").SelectorMatcherOptions | undefined): T_12;
    getAllByText<T_13 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").SelectorMatcherOptions | undefined): T_13[];
    queryByText<T_14 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").SelectorMatcherOptions | undefined): T_14 | null;
    queryAllByText<T_15 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").SelectorMatcherOptions | undefined): T_15[];
    findByText<T_16 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").SelectorMatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined): Promise<T_16>;
    findAllByText<T_17 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").SelectorMatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined): Promise<T_17[]>;
    getByAltText<T_18 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): T_18;
    getAllByAltText<T_19 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): T_19[];
    queryByAltText<T_20 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): T_20 | null;
    queryAllByAltText<T_21 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): T_21[];
    findByAltText<T_22 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined): Promise<T_22>;
    findAllByAltText<T_23 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined): Promise<T_23[]>;
    getByTitle<T_24 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): T_24;
    getAllByTitle<T_25 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): T_25[];
    queryByTitle<T_26 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): T_26 | null;
    queryAllByTitle<T_27 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): T_27[];
    findByTitle<T_28 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined): Promise<T_28>;
    findAllByTitle<T_29 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined): Promise<T_29[]>;
    getByDisplayValue<T_30 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): T_30;
    getAllByDisplayValue<T_31 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): T_31[];
    queryByDisplayValue<T_32 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): T_32 | null;
    queryAllByDisplayValue<T_33 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): T_33[];
    findByDisplayValue<T_34 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined): Promise<T_34>;
    findAllByDisplayValue<T_35 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined): Promise<T_35[]>;
    getByRole<T_36 extends HTMLElement = HTMLElement>(container: HTMLElement, role: import("@testing-library/react").ByRoleMatcher, options?: queries.ByRoleOptions | undefined): T_36;
    getAllByRole<T_37 extends HTMLElement = HTMLElement>(container: HTMLElement, role: import("@testing-library/react").ByRoleMatcher, options?: queries.ByRoleOptions | undefined): T_37[];
    queryByRole<T_38 extends HTMLElement = HTMLElement>(container: HTMLElement, role: import("@testing-library/react").ByRoleMatcher, options?: queries.ByRoleOptions | undefined): T_38 | null;
    queryAllByRole<T_39 extends HTMLElement = HTMLElement>(container: HTMLElement, role: import("@testing-library/react").ByRoleMatcher, options?: queries.ByRoleOptions | undefined): T_39[];
    findByRole<T_40 extends HTMLElement = HTMLElement>(container: HTMLElement, role: import("@testing-library/react").ByRoleMatcher, options?: queries.ByRoleOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined): Promise<T_40>;
    findAllByRole<T_41 extends HTMLElement = HTMLElement>(container: HTMLElement, role: import("@testing-library/react").ByRoleMatcher, options?: queries.ByRoleOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined): Promise<T_41[]>;
    getByTestId<T_42 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): T_42;
    getAllByTestId<T_43 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): T_43[];
    queryByTestId<T_44 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): T_44 | null;
    queryAllByTestId<T_45 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): T_45[];
    findByTestId<T_46 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined): Promise<T_46>;
    findAllByTestId<T_47 extends HTMLElement = HTMLElement>(container: HTMLElement, id: import("@testing-library/react").Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined): Promise<T_47[]>;
};
declare type TestRenderFn = (ui: React.ReactElement, options?: Omit<RenderOptions & {
    localStorageData?: ImportedDataState;
}, "queries">) => Promise<RenderResult<typeof customQueries>>;
declare const renderApp: TestRenderFn;
export * from "@testing-library/react";
export { renderApp as render };
/**
 * For state-sharing across test helpers.
 * NOTE: there shouldn't be concurrency issues as each test is running in its
 *  own process and thus gets its own instance of this module when running
 *  tests in parallel.
 */
export declare class GlobalTestState {
    /**
     * automatically updated on each call to render()
     */
    static renderResult: RenderResult<typeof customQueries>;
    /**
     * retrieves canvas for currently rendered app instance
     */
    static get canvas(): HTMLCanvasElement;
}
export declare const updateSceneData: (data: SceneData) => void;
export declare const mockBoundingClientRect: ({ top, left, bottom, right, width, height, x, y, toJSON, }?: {
    top?: number;
    left?: number;
    bottom?: number;
    right?: number;
    width?: number;
    x?: number;
    y?: number;
    height?: number;
    toJSON?: (() => void) | undefined;
}) => void;
export declare const withExcalidrawDimensions: (dimensions: {
    width: number;
    height: number;
}, cb: () => void) => Promise<void>;
export declare const restoreOriginalGetBoundingClientRect: () => void;
export declare const assertSelectedElements: (...elements: ((ExcalidrawElement["id"] | ExcalidrawElement)[] | ExcalidrawElement["id"] | ExcalidrawElement)[]) => void;
export declare const toggleMenu: (container: HTMLElement) => void;
