import { ComputedRef, PropType } from 'vue';
import { default as TableOptionItem } from './TableOptionItem';
import { default as TableHeaderItem } from './TableHeaderItem';
import { default as Pageable } from './Pageable';
declare function __VLS_template(): {
    slots: {
        aboveMiddle?(_: {}): any;
        body?(_: {
            row: any;
        }): any;
    };
    refs: {
        element: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
            id: {
                type: StringConstructor;
                default: string;
            };
            classes: {
                type: StringConstructor;
                default: string;
            };
            truncate: {
                type: BooleanConstructor;
                default: boolean;
            };
            colspan: {
                type: NumberConstructor;
                default: number;
            };
            wrapText: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>> & Readonly<{}>, {
            getId: ComputedRef<string | undefined>;
            getDataTest: ComputedRef<string | undefined>;
        }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & Readonly<import('vue').ExtractPropTypes<{
            id: {
                type: StringConstructor;
                default: string;
            };
            classes: {
                type: StringConstructor;
                default: string;
            };
            truncate: {
                type: BooleanConstructor;
                default: boolean;
            };
            colspan: {
                type: NumberConstructor;
                default: number;
            };
            wrapText: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>> & Readonly<{}>, {
            truncate: boolean;
            id: string;
            classes: string;
            colspan: number;
            wrapText: boolean;
        }, true, {}, {}, {
            AutomationTooltip: {
                new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & Readonly<{}> & Readonly<{}>, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
                    P: {};
                    B: {};
                    D: {};
                    C: {};
                    M: {};
                    Defaults: {};
                }, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, {}>;
                __isFragment?: never;
                __isTeleport?: never;
                __isSuspense?: never;
            } & import('vue').ComponentOptionsBase<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
                $slots: {
                    default?(_: {}): any;
                    default?(_: {}): any;
                    default?(_: {}): any;
                };
            });
        } & import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
            P: {};
            B: {};
            D: {};
            C: {};
            M: {};
            Defaults: {};
        }, Readonly<import('vue').ExtractPropTypes<{
            id: {
                type: StringConstructor;
                default: string;
            };
            classes: {
                type: StringConstructor;
                default: string;
            };
            truncate: {
                type: BooleanConstructor;
                default: boolean;
            };
            colspan: {
                type: NumberConstructor;
                default: number;
            };
            wrapText: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>> & Readonly<{}>, {
            getId: ComputedRef<string | undefined>;
            getDataTest: ComputedRef<string | undefined>;
        }, {}, {}, {}, {
            truncate: boolean;
            id: string;
            classes: string;
            colspan: number;
            wrapText: boolean;
        }> | null;
    };
    attrs: Partial<{}>;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    id: {
        type: StringConstructor;
        required: true;
    };
    /**
     * The title is displayed in capital letters next to the search
     */
    title: {
        type: StringConstructor;
        default: string;
    };
    waitForLoading: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * if undefinded sorting is not active
     */
    pageable: {
        type: PropType<Pageable>;
        default: undefined;
    };
    headers: {
        type: PropType<Array<TableHeaderItem>>;
        required: true;
    };
    data: {
        type: PropType<any[]>;
        required: true;
    };
    /**
     * The search is displayed if pagination is not undefined or you disable it here.
     */
    showSearch: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * A button to reload the table is displayed.
     */
    showReloadButton: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * If true, whole lines are reformatted depending on the deployment state.
     */
    handleDeploymentStatus: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * If the entity has no field id, another identifier must be specified here.
     */
    entityIdentifierKey: {
        type: StringConstructor;
        default: string;
    };
    /**
     * Changes the base of the props headers.widthInPercent. The default mode is in %, but can also be changed to px.
     */
    headerWidthMode: {
        type: PropType<"%" | "px">;
        default: string;
    };
    /**
     * Turns off at true the row click. The line style is changed and the event is not thrown.
     */
    disableRowClick: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * What can be done with the selected entities. e.g. Delete. Title of the button callback when clicking it. As paramater comes an array with the values from entityIdentifierKey for the selected entities
     */
    options: {
        type: PropType<TableOptionItem[]>;
        default: () => never[];
    };
    /**
     * The options are then of course also not displayed
     */
    showCheckboxes: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * If there is no data for the table, an empty cell with this text is displayed, which goes over the entire table.
     * This is also displayed in case of a failed search.
     */
    emptyDataMessage: {
        type: StringConstructor;
        default: string;
    };
    /**
     * If there is no data for the table, an empty cell with this text is displayed, which goes over the entire table.
     * This is also displayed in case of a failed search.
     */
    tableStyle: {
        type: PropType<"base" | "naked">;
        default: string;
    };
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    view: (...args: any[]) => void;
    "update:pageable": (...args: any[]) => void;
    "update:waitForLoading": (...args: any[]) => void;
    "update:headers": (...args: any[]) => void;
    update: (...args: any[]) => void;
    "manual-reload": (...args: any[]) => void;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    id: {
        type: StringConstructor;
        required: true;
    };
    /**
     * The title is displayed in capital letters next to the search
     */
    title: {
        type: StringConstructor;
        default: string;
    };
    waitForLoading: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * if undefinded sorting is not active
     */
    pageable: {
        type: PropType<Pageable>;
        default: undefined;
    };
    headers: {
        type: PropType<Array<TableHeaderItem>>;
        required: true;
    };
    data: {
        type: PropType<any[]>;
        required: true;
    };
    /**
     * The search is displayed if pagination is not undefined or you disable it here.
     */
    showSearch: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * A button to reload the table is displayed.
     */
    showReloadButton: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * If true, whole lines are reformatted depending on the deployment state.
     */
    handleDeploymentStatus: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * If the entity has no field id, another identifier must be specified here.
     */
    entityIdentifierKey: {
        type: StringConstructor;
        default: string;
    };
    /**
     * Changes the base of the props headers.widthInPercent. The default mode is in %, but can also be changed to px.
     */
    headerWidthMode: {
        type: PropType<"%" | "px">;
        default: string;
    };
    /**
     * Turns off at true the row click. The line style is changed and the event is not thrown.
     */
    disableRowClick: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * What can be done with the selected entities. e.g. Delete. Title of the button callback when clicking it. As paramater comes an array with the values from entityIdentifierKey for the selected entities
     */
    options: {
        type: PropType<TableOptionItem[]>;
        default: () => never[];
    };
    /**
     * The options are then of course also not displayed
     */
    showCheckboxes: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * If there is no data for the table, an empty cell with this text is displayed, which goes over the entire table.
     * This is also displayed in case of a failed search.
     */
    emptyDataMessage: {
        type: StringConstructor;
        default: string;
    };
    /**
     * If there is no data for the table, an empty cell with this text is displayed, which goes over the entire table.
     * This is also displayed in case of a failed search.
     */
    tableStyle: {
        type: PropType<"base" | "naked">;
        default: string;
    };
}>> & Readonly<{
    onView?: ((...args: any[]) => any) | undefined;
    "onUpdate:pageable"?: ((...args: any[]) => any) | undefined;
    "onUpdate:waitForLoading"?: ((...args: any[]) => any) | undefined;
    "onUpdate:headers"?: ((...args: any[]) => any) | undefined;
    onUpdate?: ((...args: any[]) => any) | undefined;
    "onManual-reload"?: ((...args: any[]) => any) | undefined;
}>, {
    title: string;
    showSearch: boolean;
    options: TableOptionItem[];
    pageable: Pageable;
    waitForLoading: boolean;
    showReloadButton: boolean;
    handleDeploymentStatus: boolean;
    entityIdentifierKey: string;
    headerWidthMode: "%" | "px";
    disableRowClick: boolean;
    showCheckboxes: boolean;
    emptyDataMessage: string;
    tableStyle: "base" | "naked";
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
