/**
 * Types for Search input (`pkt-searchinput` / `PktSearchInput`).
 *
 * Shared between Elements and React so API contracts and suggestion payloads
 * stay aligned. React extends suggestions with `ReactNode` and optional
 * `onClick` in the component layer — see `@oslokommune/punkt-react`.
 */
export type TPktSearchInputAppearance = 'local' | 'local-with-button' | 'global';
export type TPktSearchInputMethod = 'get' | 'post' | 'dialog';
/**
 * Plain suggestion item (JSON-serializable). Used by Elements and as the
 * portable shape for API data and design-token documentation.
 */
export interface IPktSearchInputSuggestion {
    title?: string;
    text?: string;
    href?: string;
    /**
     * Presentational row only (e.g. «Ingen resultater»). Renders as a non-focusable
     * container — not a link or button — and does not emit selection events.
     * Ignored when `href` is set (link always wins).
     */
    nonInteractive?: boolean;
}
/**
 * Public props for the web component (Elements). React mirrors these and adds
 * callback props in its wrapper.
 */
export interface IPktSearchInput {
    appearance?: TPktSearchInputAppearance;
    disabled?: boolean;
    fullwidth?: boolean;
    id: string;
    label?: string;
    name?: string;
    placeholder?: string;
    value?: string;
    suggestions?: IPktSearchInputSuggestion[];
    action?: string;
    method?: TPktSearchInputMethod;
}
