import { innerText } from "@interactors/html";
/**
* Call this {@link InteractorConstructor} to initialize a button {@link Interactor}.
* The button interactor can be used to interact with buttons on the page and
* to assert on their state.
*
* The button is located by the `aria-label` attribute or the visible text on the button in otherwise.
*
* ### Example
*
* ``` typescript
* await Button('Submit').click();
* await Button('Submit').is({ disabled: true });
* await Button({ id: 'submit-button', disabled: true }).exists();
* ```
*
* ### Filters
*
* - `title`: *string* – Filter by title
* - `id`: *string* – Filter by id
* - `visible`: *boolean* – Filter by visibility. Defaults to `true`. See {@link isVisible}.
* - `disabled`: *boolean* – Filter by whether the button is disabled. Defaults to `false`.
* - `focused`: *boolean* – Filter by whether the button is focused. See {@link focused}.
* - `href`: *string* - Filter by href if it's button link
*
* ### Actions
*
* - `click()`: *{@link Interaction}* – Click on the button
* - `focus()`: *{@link Interaction}* – Move focus to the button
* - `blur()`: *{@link Interaction}* – Move focus away from the button
*
* @category Interactor
*/
export declare const Button: import("@interactors/html").InteractorConstructor | undefined;
title?: import("@interactors/html").MaybeMatcher | undefined;
id?: import("@interactors/html").MaybeMatcher | undefined;
visible?: import("@interactors/html").MaybeMatcher | undefined;
className?: import("@interactors/html").MaybeMatcher | undefined;
classList?: import("@interactors/html").MaybeMatcher | undefined;
focused?: import("@interactors/html").MaybeMatcher | undefined;
}>, {
href?: import("@interactors/html").MaybeMatcher | undefined;
disabled?: import("@interactors/html").MaybeMatcher | undefined;
}>, import("@interactors/html").MergeObjects string;
id: (element: HTMLElement) => string;
visible: {
apply: typeof import("element-is-visible").isVisible;
default: boolean;
};
className: (element: HTMLElement) => string;
classList: (element: HTMLElement) => string[];
focused: (element: HTMLElement) => boolean;
}>>, import("@interactors/html").FilterMethods string | null;
disabled: {
apply: (element: HTMLButtonElement | HTMLLinkElement) => boolean;
default: boolean;
};
}>>, import("@interactors/html").MergeObjects | undefined;
title?: import("@interactors/html").MaybeMatcher | undefined;
id?: import("@interactors/html").MaybeMatcher | undefined;
visible?: import("@interactors/html").MaybeMatcher | undefined;
className?: import("@interactors/html").MaybeMatcher | undefined;
classList?: import("@interactors/html").MaybeMatcher | undefined;
focused?: import("@interactors/html").MaybeMatcher | undefined;
}>> & import("@interactors/html").FilterMethods string;
id: (element: HTMLElement) => string;
visible: {
apply: typeof import("element-is-visible").isVisible;
default: boolean;
};
className: (element: HTMLElement) => string;
classList: (element: HTMLElement) => string[];
focused: (element: HTMLElement) => boolean;
}> & Omit & import("@interactors/html").EmptyObject, init?: MouseEventInit | undefined) => import("@interactors/html").ActionInteraction;
focus: ({ perform }: import("@interactors/html").Interactor | undefined;
title?: import("@interactors/html").MaybeMatcher | undefined;
id?: import("@interactors/html").MaybeMatcher | undefined;
visible?: import("@interactors/html").MaybeMatcher | undefined;
className?: import("@interactors/html").MaybeMatcher | undefined;
classList?: import("@interactors/html").MaybeMatcher | undefined;
focused?: import("@interactors/html").MaybeMatcher | undefined;
}>> & import("@interactors/html").FilterMethods string;
id: (element: HTMLElement) => string;
visible: {
apply: typeof import("element-is-visible").isVisible;
default: boolean;
};
className: (element: HTMLElement) => string;
classList: (element: HTMLElement) => string[];
focused: (element: HTMLElement) => boolean;
}> & Omit & import("@interactors/html").EmptyObject) => import("@interactors/html").ActionInteraction;
blur: ({ perform }: import("@interactors/html").Interactor | undefined;
title?: import("@interactors/html").MaybeMatcher | undefined;
id?: import("@interactors/html").MaybeMatcher | undefined;
visible?: import("@interactors/html").MaybeMatcher | undefined;
className?: import("@interactors/html").MaybeMatcher | undefined;
classList?: import("@interactors/html").MaybeMatcher | undefined;
focused?: import("@interactors/html").MaybeMatcher | undefined;
}>> & import("@interactors/html").FilterMethods string;
id: (element: HTMLElement) => string;
visible: {
apply: typeof import("element-is-visible").isVisible;
default: boolean;
};
className: (element: HTMLElement) => string;
classList: (element: HTMLElement) => string[];
focused: (element: HTMLElement) => boolean;
}> & Omit & import("@interactors/html").EmptyObject) => import("@interactors/html").ActionInteraction;
}, import("@interactors/html").Interactor | undefined;
title?: import("@interactors/html").MaybeMatcher | undefined;
id?: import("@interactors/html").MaybeMatcher | undefined;
visible?: import("@interactors/html").MaybeMatcher | undefined;
className?: import("@interactors/html").MaybeMatcher | undefined;
classList?: import("@interactors/html").MaybeMatcher | undefined;
focused?: import("@interactors/html").MaybeMatcher | undefined;
}>> & import("@interactors/html").FilterMethods string;
id: (element: HTMLElement) => string;
visible: {
apply: typeof import("element-is-visible").isVisible;
default: boolean;
};
className: (element: HTMLElement) => string;
classList: (element: HTMLElement) => string[];
focused: (element: HTMLElement) => boolean;
}> & Omit & import("@interactors/html").EmptyObject>>>;
//# sourceMappingURL=button.d.ts.map