import type { UmbDocumentEntityType } from './entity.js';
import type { UmbEntityVariantModel, UmbEntityVariantOptionModel, UmbEntityVariantPublishModel } from '../../core/variant/index.js';
import type { UmbReferenceByUnique } from '../../core/models/index.js';
import { DocumentVariantStateModel as UmbDocumentVariantState } from '../../core/backend-api/index.js';
import type { UmbContentDetailModel, UmbElementValueModel } from '../../content/content/index.js';
export { UmbDocumentVariantState };
export type * from './audit-log/types.js';
export type * from './collection/types.js';
export type * from './entity.js';
export type * from './item/types.js';
export type * from './modals/types.js';
export type * from './preview/types.js';
export type * from './publishing/types.js';
export type * from './recycle-bin/types.js';
export type * from './search/types.js';
export type * from './repository/types.js';
export type * from './tree/types.js';
export type * from './url/types.js';
export type * from './user-permissions/types.js';
export type * from './workspace/types.js';
export interface UmbDocumentDetailModel extends UmbContentDetailModel {
    documentType: {
        unique: string;
        collection: UmbReferenceByUnique | null;
        icon?: string | null;
    };
    entityType: UmbDocumentEntityType;
    isTrashed: boolean;
    template: {
        unique: string;
    } | null;
    values: Array<UmbDocumentValueModel>;
    variants: Array<UmbDocumentVariantModel>;
}
export interface UmbDocumentVariantModel extends UmbEntityVariantModel {
    state: UmbDocumentVariantState | null;
    publishDate: string | null;
    scheduledPublishDate: string | null;
    scheduledUnpublishDate: string | null;
}
export interface UmbDocumentUrlInfoModel {
    culture: string | null;
    url: string;
}
export interface UmbDocumentValueModel<ValueType = unknown> extends UmbElementValueModel<ValueType> {
}
export interface UmbDocumentVariantOptionModel extends UmbEntityVariantOptionModel<UmbDocumentVariantModel> {
    documentCount?: number;
}
export interface UmbDocumentVariantPublishModel extends UmbEntityVariantPublishModel {
}
