import { innerText } from "@interactors/html";
/**
* Call this {@link InteractorConstructor} to initialize a form control {@link
* Interactor}. The form control interactor can be used to assert on form
* fields state.
*
* The form control is located by the text of its label.
*
* ### Example
*
* ``` typescript
* await FormControl('Email').has({ description: 'Email for newsletters' });
* await FormControl({ id: 'email-field', valid: true }).exists();
* ```
*
* ### Filters
*
* - `id`: *string* – Filter by id
* - `visible`: *boolean* – Filter by visibility. Defaults to `true`. See {@link isVisible}.
* - `valid`: *boolean* – Filter by whether the form field is valid.
* - `description`: *string* – Filter by the form's field description text.
* - `disabled`: *boolean* – Filter by whether the form field is disabled. Defaults to `false`.
*
* @category Interactor
*/
export declare const FormControl: 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;
}>, {
valid?: import("@interactors/html").MaybeMatcher | undefined;
description?: 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 boolean;
description: (element: HTMLElement) => string;
}>>, 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=form-control.d.ts.map