import { type HTMLAttributes, type VNode } from 'vue';
import { type SearchAttribute } from './common';
import { type OUIAProps } from '../../helpers/ouia';
interface Props extends OUIAProps, /* @vue-ignore */ HTMLAttributes {
/** Flag for toggling the open/close state of the advanced search menu. */
searchMenuOpen?: boolean;
/** Label for the button which resets the advanced search form and clears the search input. Defaults to the `searchInputReset` message. */
resetButtonLabel?: string;
/** Label for the button which calls the onSearch event handler. Defaults to the `searchInputSubmit` message. */
submitSearchButtonLabel?: string;
/** Attribute label for strings unassociated with one of the provided listed attributes. Defaults to the `searchInputWords` message. */
wordsAttrLabel?: string;
/** Array of attribute values used for dynamically generated advanced search. */
attributes?: (string | SearchAttribute)[];
/** Delimiter in the query string for pairing attributes with search values.
* Required whenever attributes are passed as props.
*/
advancedSearchDelimiter?: string;
/** A callback for when the user clicks the clear button. */
onClear?: (event: Event) => void;
/** Function which builds an attribute-value map by parsing the value in the search input.
* Defaults to parsing the model value with the advancedSearchDelimiter.
*/
getAttrValueMap?: () => Record;
}
declare const _default: typeof __VLS_export;
export default _default;
declare const __VLS_export: __VLS_WithSlots any;
} & {
search: (value: string, event: Event, attrValueMap: Record) => any;
toggleAdvancedMenu: (event: Event) => any;
}, string, import("vue").PublicProps, Readonly & Readonly<{
onSearch?: ((value: string, event: Event, attrValueMap: Record) => any) | undefined;
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
onToggleAdvancedMenu?: ((event: Event) => any) | undefined;
}>, {
attributes: (string | SearchAttribute)[];
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
[K: `attribute:${string}`]: (props?: Record) => VNode[];
/** Additional elements added after the attributes in the form. */
default?: (props?: Record) => VNode[];
/** Attribute label for strings unassociated with one of the provided listed attributes. */
'words-attr-label'?: (props?: Record) => VNode[];
}>;
type __VLS_WithSlots = T & {
new (): {
$slots: S;
};
};
//# sourceMappingURL=AdvancedSearchMenu.vue.d.ts.map