import type { PropType } from 'vue';
import type { DocumentListItem, DocumentTree, FormData } from '../types';
import type { TreeListItem, TreeListChangeEvent, TreeListChildChangeEvent } from '@kong/kongponents';
declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    actionPending: {
        type: BooleanConstructor;
        default: boolean;
    };
    actionSuccess: {
        type: BooleanConstructor;
        default: boolean;
    };
    cacheKey: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * 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>;
    };
    /**
     * Boolean assiting with responsive documents view
     */
    card: {
        type: BooleanConstructor;
        default: boolean;
    };
    documentList: {
        type: PropType<DocumentListItem[]>;
        required: true;
    };
    /**
     * Boolean for wrapping the empty state component in a KCard
     */
    emptyStateCard: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * The ID of the entity to which a document is associated.
     * Examples are API Product ID, Service ID etc.
     */
    entityId: {
        type: StringConstructor;
        required: true;
    };
    hidePublishToggle: {
        type: BooleanConstructor;
        default: boolean;
    };
    modalErrorMessage: {
        type: StringConstructor;
        default: string;
    };
    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, {} & {
    "toggle-published": (data: boolean) => any;
    "save-markdown": (content: string) => any;
    delete: () => any;
    save: (formData: FormData, selectedFile: any) => any;
    "child-change": (data: TreeListChildChangeEvent) => any;
    "click:learn-more": () => any;
    "document-selection": (data: TreeListItem) => any;
    "modal-closed": () => any;
    "parent-change": (data: TreeListChangeEvent) => any;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    actionPending: {
        type: BooleanConstructor;
        default: boolean;
    };
    actionSuccess: {
        type: BooleanConstructor;
        default: boolean;
    };
    cacheKey: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * 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>;
    };
    /**
     * Boolean assiting with responsive documents view
     */
    card: {
        type: BooleanConstructor;
        default: boolean;
    };
    documentList: {
        type: PropType<DocumentListItem[]>;
        required: true;
    };
    /**
     * Boolean for wrapping the empty state component in a KCard
     */
    emptyStateCard: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * The ID of the entity to which a document is associated.
     * Examples are API Product ID, Service ID etc.
     */
    entityId: {
        type: StringConstructor;
        required: true;
    };
    hidePublishToggle: {
        type: BooleanConstructor;
        default: boolean;
    };
    modalErrorMessage: {
        type: StringConstructor;
        default: string;
    };
    selectedDocument: {
        type: PropType<{
            document: DocumentTree;
            ast: Record<string, any>;
            markdown?: string;
            status: "published" | "unpublished";
        }>;
        default: () => null;
    };
}>> & Readonly<{
    "onToggle-published"?: ((data: boolean) => any) | undefined;
    "onSave-markdown"?: ((content: string) => any) | undefined;
    onDelete?: (() => any) | undefined;
    onSave?: ((formData: FormData, selectedFile: any) => any) | undefined;
    "onChild-change"?: ((data: TreeListChildChangeEvent) => any) | undefined;
    "onClick:learn-more"?: (() => any) | undefined;
    "onDocument-selection"?: ((data: TreeListItem) => any) | undefined;
    "onModal-closed"?: (() => any) | undefined;
    "onParent-change"?: ((data: TreeListChangeEvent) => any) | undefined;
}>, {
    canEdit: () => boolean | Promise<boolean>;
    card: boolean;
    hidePublishToggle: boolean;
    selectedDocument: {
        document: DocumentTree;
        ast: Record<string, any>;
        markdown?: string;
        status: "published" | "unpublished";
    };
    actionPending: boolean;
    actionSuccess: boolean;
    cacheKey: number;
    emptyStateCard: boolean;
    modalErrorMessage: string;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
declare const _default: typeof __VLS_export;
export default _default;
//# sourceMappingURL=DocumentationContent.vue.d.ts.map