/*!
 * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.
 * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
 *
 * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *
 * See the License for the specific language governing permissions and limitations under the License.
 */
import { type BoundFunctions, type ByRoleMatcher, type ByRoleOptions, type Matcher, queries, type SelectorMatcherOptions } from "@testing-library/react";
export type RoleSelectorMethod = "ByRole";
export type TextSelectorMethod = "ByLabelText" | "ByPlaceholderText" | "ByText" | "ByAltText" | "ByTitle";
export type QueryMethod = "find" | "get" | "query";
export type ByRoleMethods = "getByRole" | "queryByRole";
export type ByTextMethods = "getByLabelText" | "queryByLabelText" | "getByPlaceholderText" | "queryByPlaceholderText" | "getByText" | "queryByText" | "getByAltText" | "queryByAltText" | "getByTitle" | "queryByTitle";
export declare const executeTestingLibraryMethod: <CanvasMethods extends keyof BoundFunctions<typeof queries>>({ canvas, queryMethod, selectionMethod, }: {
    canvas: Pick<BoundFunctions<typeof queries>, CanvasMethods>;
    queryMethod: QueryMethod;
    selectionMethod: RoleSelectorMethod | TextSelectorMethod;
}) => Pick<{
    getByLabelText<T extends HTMLElement = HTMLElement>(id: Matcher, options?: SelectorMatcherOptions | undefined): ReturnType<queries.GetByText<T>>;
    getAllByLabelText<T extends HTMLElement = HTMLElement>(id: Matcher, options?: SelectorMatcherOptions | undefined): ReturnType<queries.AllByText<T>>;
    queryByLabelText<T extends HTMLElement = HTMLElement>(id: Matcher, options?: SelectorMatcherOptions | undefined): ReturnType<queries.QueryByText<T>>;
    queryAllByLabelText<T extends HTMLElement = HTMLElement>(id: Matcher, options?: SelectorMatcherOptions | undefined): ReturnType<queries.AllByText<T>>;
    findByLabelText<T extends HTMLElement = HTMLElement>(id: Matcher, options?: SelectorMatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined): ReturnType<queries.FindByText<T>>;
    findAllByLabelText<T extends HTMLElement = HTMLElement>(id: Matcher, options?: SelectorMatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined): ReturnType<queries.FindAllByText<T>>;
    getByPlaceholderText<T extends HTMLElement = HTMLElement>(id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): ReturnType<queries.GetByBoundAttribute<T>>;
    getAllByPlaceholderText<T extends HTMLElement = HTMLElement>(id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): ReturnType<queries.AllByBoundAttribute<T>>;
    queryByPlaceholderText<T extends HTMLElement = HTMLElement>(id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): ReturnType<queries.QueryByBoundAttribute<T>>;
    queryAllByPlaceholderText<T extends HTMLElement = HTMLElement>(id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): ReturnType<queries.AllByBoundAttribute<T>>;
    findByPlaceholderText<T extends HTMLElement = HTMLElement>(id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined): ReturnType<queries.FindByBoundAttribute<T>>;
    findAllByPlaceholderText<T extends HTMLElement = HTMLElement>(id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined): ReturnType<queries.FindAllByBoundAttribute<T>>;
    getByText<T extends HTMLElement = HTMLElement>(id: Matcher, options?: SelectorMatcherOptions | undefined): ReturnType<queries.GetByText<T>>;
    getAllByText<T extends HTMLElement = HTMLElement>(id: Matcher, options?: SelectorMatcherOptions | undefined): ReturnType<queries.AllByText<T>>;
    queryByText<T extends HTMLElement = HTMLElement>(id: Matcher, options?: SelectorMatcherOptions | undefined): ReturnType<queries.QueryByText<T>>;
    queryAllByText<T extends HTMLElement = HTMLElement>(id: Matcher, options?: SelectorMatcherOptions | undefined): ReturnType<queries.AllByText<T>>;
    findByText<T extends HTMLElement = HTMLElement>(id: Matcher, options?: SelectorMatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined): ReturnType<queries.FindByText<T>>;
    findAllByText<T extends HTMLElement = HTMLElement>(id: Matcher, options?: SelectorMatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined): ReturnType<queries.FindAllByText<T>>;
    getByAltText<T extends HTMLElement = HTMLElement>(id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): ReturnType<queries.GetByBoundAttribute<T>>;
    getAllByAltText<T extends HTMLElement = HTMLElement>(id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): ReturnType<queries.AllByBoundAttribute<T>>;
    queryByAltText<T extends HTMLElement = HTMLElement>(id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): ReturnType<queries.QueryByBoundAttribute<T>>;
    queryAllByAltText<T extends HTMLElement = HTMLElement>(id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): ReturnType<queries.AllByBoundAttribute<T>>;
    findByAltText<T extends HTMLElement = HTMLElement>(id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined): ReturnType<queries.FindByBoundAttribute<T>>;
    findAllByAltText<T extends HTMLElement = HTMLElement>(id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined): ReturnType<queries.FindAllByBoundAttribute<T>>;
    getByTitle<T extends HTMLElement = HTMLElement>(id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): ReturnType<queries.GetByBoundAttribute<T>>;
    getAllByTitle<T extends HTMLElement = HTMLElement>(id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): ReturnType<queries.AllByBoundAttribute<T>>;
    queryByTitle<T extends HTMLElement = HTMLElement>(id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): ReturnType<queries.QueryByBoundAttribute<T>>;
    queryAllByTitle<T extends HTMLElement = HTMLElement>(id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): ReturnType<queries.AllByBoundAttribute<T>>;
    findByTitle<T extends HTMLElement = HTMLElement>(id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined): ReturnType<queries.FindByBoundAttribute<T>>;
    findAllByTitle<T extends HTMLElement = HTMLElement>(id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined): ReturnType<queries.FindAllByBoundAttribute<T>>;
    getByDisplayValue<T extends HTMLElement = HTMLElement>(id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): ReturnType<queries.GetByBoundAttribute<T>>;
    getAllByDisplayValue<T extends HTMLElement = HTMLElement>(id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): ReturnType<queries.AllByBoundAttribute<T>>;
    queryByDisplayValue<T extends HTMLElement = HTMLElement>(id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): ReturnType<queries.QueryByBoundAttribute<T>>;
    queryAllByDisplayValue<T extends HTMLElement = HTMLElement>(id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): ReturnType<queries.AllByBoundAttribute<T>>;
    findByDisplayValue<T extends HTMLElement = HTMLElement>(id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined): ReturnType<queries.FindByBoundAttribute<T>>;
    findAllByDisplayValue<T extends HTMLElement = HTMLElement>(id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined): ReturnType<queries.FindAllByBoundAttribute<T>>;
    getByRole<T extends HTMLElement = HTMLElement>(role: ByRoleMatcher, options?: ByRoleOptions | undefined): ReturnType<queries.GetByRole<T>>;
    getAllByRole<T extends HTMLElement = HTMLElement>(role: ByRoleMatcher, options?: ByRoleOptions | undefined): ReturnType<queries.AllByRole<T>>;
    queryByRole<T extends HTMLElement = HTMLElement>(role: ByRoleMatcher, options?: ByRoleOptions | undefined): ReturnType<queries.QueryByRole<T>>;
    queryAllByRole<T extends HTMLElement = HTMLElement>(role: ByRoleMatcher, options?: ByRoleOptions | undefined): ReturnType<queries.AllByRole<T>>;
    findByRole<T extends HTMLElement = HTMLElement>(role: ByRoleMatcher, options?: ByRoleOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined): ReturnType<queries.FindByRole<T>>;
    findAllByRole<T extends HTMLElement = HTMLElement>(role: ByRoleMatcher, options?: ByRoleOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined): ReturnType<queries.FindAllByRole<T>>;
    getByTestId<T extends HTMLElement = HTMLElement>(id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): ReturnType<queries.GetByBoundAttribute<T>>;
    getAllByTestId<T extends HTMLElement = HTMLElement>(id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): ReturnType<queries.AllByBoundAttribute<T>>;
    queryByTestId<T extends HTMLElement = HTMLElement>(id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): ReturnType<queries.QueryByBoundAttribute<T>>;
    queryAllByTestId<T extends HTMLElement = HTMLElement>(id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined): ReturnType<queries.AllByBoundAttribute<T>>;
    findByTestId<T extends HTMLElement = HTMLElement>(id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined): ReturnType<queries.FindByBoundAttribute<T>>;
    findAllByTestId<T extends HTMLElement = HTMLElement>(id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined): ReturnType<queries.FindAllByBoundAttribute<T>>;
} & {
    getByLabelText: (id: Matcher, options?: SelectorMatcherOptions | undefined) => HTMLElement;
    getAllByLabelText: (id: Matcher, options?: SelectorMatcherOptions | undefined) => HTMLElement[];
    queryByLabelText: (id: Matcher, options?: SelectorMatcherOptions | undefined) => HTMLElement | null;
    queryAllByLabelText: (id: Matcher, options?: SelectorMatcherOptions | undefined) => HTMLElement[];
    findByLabelText: (id: Matcher, options?: SelectorMatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined) => Promise<HTMLElement>;
    findAllByLabelText: (id: Matcher, options?: SelectorMatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined) => Promise<HTMLElement[]>;
    getByPlaceholderText: (id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement;
    getAllByPlaceholderText: (id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement[];
    queryByPlaceholderText: (id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement | null;
    queryAllByPlaceholderText: (id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement[];
    findByPlaceholderText: (id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined) => Promise<HTMLElement>;
    findAllByPlaceholderText: (id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined) => Promise<HTMLElement[]>;
    getByText: (id: Matcher, options?: SelectorMatcherOptions | undefined) => HTMLElement;
    getAllByText: (id: Matcher, options?: SelectorMatcherOptions | undefined) => HTMLElement[];
    queryByText: (id: Matcher, options?: SelectorMatcherOptions | undefined) => HTMLElement | null;
    queryAllByText: (id: Matcher, options?: SelectorMatcherOptions | undefined) => HTMLElement[];
    findByText: (id: Matcher, options?: SelectorMatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined) => Promise<HTMLElement>;
    findAllByText: (id: Matcher, options?: SelectorMatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined) => Promise<HTMLElement[]>;
    getByAltText: (id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement;
    getAllByAltText: (id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement[];
    queryByAltText: (id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement | null;
    queryAllByAltText: (id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement[];
    findByAltText: (id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined) => Promise<HTMLElement>;
    findAllByAltText: (id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined) => Promise<HTMLElement[]>;
    getByTitle: (id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement;
    getAllByTitle: (id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement[];
    queryByTitle: (id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement | null;
    queryAllByTitle: (id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement[];
    findByTitle: (id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined) => Promise<HTMLElement>;
    findAllByTitle: (id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined) => Promise<HTMLElement[]>;
    getByDisplayValue: (id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement;
    getAllByDisplayValue: (id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement[];
    queryByDisplayValue: (id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement | null;
    queryAllByDisplayValue: (id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement[];
    findByDisplayValue: (id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined) => Promise<HTMLElement>;
    findAllByDisplayValue: (id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined) => Promise<HTMLElement[]>;
    getByRole: (role: ByRoleMatcher, options?: ByRoleOptions | undefined) => HTMLElement;
    getAllByRole: (role: ByRoleMatcher, options?: ByRoleOptions | undefined) => HTMLElement[];
    queryByRole: (role: ByRoleMatcher, options?: ByRoleOptions | undefined) => HTMLElement | null;
    queryAllByRole: (role: ByRoleMatcher, options?: ByRoleOptions | undefined) => HTMLElement[];
    findByRole: (role: ByRoleMatcher, options?: ByRoleOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined) => Promise<HTMLElement>;
    findAllByRole: (role: ByRoleMatcher, options?: ByRoleOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined) => Promise<HTMLElement[]>;
    getByTestId: (id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement;
    getAllByTestId: (id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement[];
    queryByTestId: (id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement | null;
    queryAllByTestId: (id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined) => HTMLElement[];
    findByTestId: (id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined) => Promise<HTMLElement>;
    findAllByTestId: (id: Matcher, options?: import("@testing-library/react").MatcherOptions | undefined, waitForElementOptions?: import("@testing-library/react").waitForOptions | undefined) => Promise<HTMLElement[]>;
}, CanvasMethods>[CanvasMethods];
export declare const getByQuerySelector: <LocalQueryMethod extends QueryMethod = "get">({ element, queryMethod, queryOptions, role, selectionMethod, text, }: {
    element: HTMLElement;
    queryMethod: LocalQueryMethod;
} & ({
    queryOptions?: ByRoleOptions;
    role: ByRoleMatcher;
    selectionMethod: RoleSelectorMethod;
    text?: never;
} | {
    queryOptions?: SelectorMatcherOptions;
    role?: never;
    selectionMethod: TextSelectorMethod;
    text: Matcher;
})) => LocalQueryMethod extends "get" ? HTMLElement : HTMLElement | null;
export declare const getByRoleQuerySelector: <LocalQueryMethod extends QueryMethod>({ element, queryMethod, queryOptions, role, }: {
    element: HTMLElement;
    queryMethod: LocalQueryMethod;
    queryOptions?: ByRoleOptions;
    role: ByRoleMatcher;
}) => LocalQueryMethod extends "get" ? HTMLElement : HTMLElement | null;
export declare const getByTextQuerySelector: <LocalQueryMethod extends QueryMethod>({ element, queryMethod, queryOptions, selectionMethod, text, }: {
    element: HTMLElement;
    queryMethod: LocalQueryMethod;
    queryOptions?: SelectorMatcherOptions;
    selectionMethod: TextSelectorMethod;
    text: Matcher;
}) => LocalQueryMethod extends "get" ? HTMLElement : HTMLElement | null;
//# sourceMappingURL=getByQuerySelector.d.ts.map