import type { InfolandAPI, SearchResult } from '@/types/SearchTypes.ts';
interface Props {
    categories?: string;
    skipDocuments?: boolean;
    autofocus?: boolean;
    placeholder?: string;
    isLoggedIn?: boolean;
    maxWidth?: string;
}
declare var __VLS_1: {}, __VLS_14: {};
type __VLS_Slots = {} & {
    left?: (props: typeof __VLS_1) => any;
} & {
    right?: (props: typeof __VLS_14) => any;
};
declare const __VLS_base: import("vue").DefineComponent<Props, {
    processQuery: (query: string) => void | undefined;
    clearSearch: () => void | undefined;
    goToHome: () => void | undefined;
    goToStep: (index: number) => Promise<void> | undefined;
    getSearchTerm: () => string | undefined;
    isLoading: () => boolean | undefined;
    focus: () => void | undefined;
    readonly detailView: {
        visible: boolean;
        loading: boolean;
        error: boolean;
        data: {
            key: string;
            title: string;
            subtitle?: string | undefined;
            owners?: {
                name: string;
                share?: string | undefined;
            }[] | undefined;
            conveyance?: {
                dateRegistered?: {
                    timestamp: number;
                    formatted?: string | undefined;
                } | undefined;
                purchasePrice?: number | undefined;
                conveyanceType?: {
                    code?: string | undefined;
                    text: string;
                } | undefined;
            } | undefined;
            management?: {
                organizationNumber?: string | undefined;
                name?: string | undefined;
            } | undefined;
            validation?: {
                showInfo: boolean;
                message?: string | undefined;
                redirect?: boolean | undefined;
                links?: {
                    key: string;
                    query: string;
                }[] | undefined;
            } | undefined;
        } | null;
    } | undefined;
    readonly selectedResult: SearchResult | null | undefined;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
    redirect: (link: {
        key: string;
        query: string;
    }) => any;
    "show-products": (result: SearchResult) => any;
    "search-result": (result: InfolandAPI) => any;
}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
    onRedirect?: ((link: {
        key: string;
        query: string;
    }) => any) | undefined;
    "onShow-products"?: ((result: SearchResult) => any) | undefined;
    "onSearch-result"?: ((result: InfolandAPI) => any) | undefined;
}>, {
    maxWidth: string;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
declare const _default: typeof __VLS_export;
export default _default;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
