import '@kong/markdown/dist/style.css';
import type { PropType } from 'vue';
import type { DocumentTree } from '../types';
declare var __VLS_1: {};
type __VLS_Slots = {} & {
    'document-title'?: (props: typeof __VLS_1) => any;
};
declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    /**
     * A synchronous or asynchronous function which returns a boolean evaluating
     * if the user can edit an entity by create a new document
     */
    canEdit: {
        type: PropType<() => boolean | Promise<boolean>>;
        required: false;
        default: () => Promise<boolean>;
    };
    card: {
        type: BooleanConstructor;
        default: boolean;
    };
    hidePublishToggle: {
        type: BooleanConstructor;
        default: boolean;
    };
    selectedDocument: {
        type: PropType<{
            document: DocumentTree;
            ast: Record<string, any>;
            markdown?: string;
            status: "published" | "unpublished";
        }>;
        default: () => null;
    };
}>, {
    download: () => void;
    edit: () => void;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
    add: () => any;
    "toggle-published": (newValue: boolean) => any;
    "edit-markdown": (isEditingMarkdown: boolean) => any;
    "save-markdown": (content: string) => any;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    /**
     * A synchronous or asynchronous function which returns a boolean evaluating
     * if the user can edit an entity by create a new document
     */
    canEdit: {
        type: PropType<() => boolean | Promise<boolean>>;
        required: false;
        default: () => Promise<boolean>;
    };
    card: {
        type: BooleanConstructor;
        default: boolean;
    };
    hidePublishToggle: {
        type: BooleanConstructor;
        default: boolean;
    };
    selectedDocument: {
        type: PropType<{
            document: DocumentTree;
            ast: Record<string, any>;
            markdown?: string;
            status: "published" | "unpublished";
        }>;
        default: () => null;
    };
}>> & Readonly<{
    onAdd?: (() => any) | undefined;
    "onToggle-published"?: ((newValue: boolean) => any) | undefined;
    "onEdit-markdown"?: ((isEditingMarkdown: boolean) => any) | undefined;
    "onSave-markdown"?: ((content: string) => any) | undefined;
}>, {
    canEdit: () => boolean | Promise<boolean>;
    card: boolean;
    hidePublishToggle: boolean;
    selectedDocument: {
        document: DocumentTree;
        ast: Record<string, any>;
        markdown?: string;
        status: "published" | "unpublished";
    };
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
export default _default;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
//# sourceMappingURL=DocumentationDisplay.vue.d.ts.map