import { DocumentMetadata } from "./document-metadata.model";
export interface Document {
    id: string;
    metadata?: DocumentMetadata;
}
export interface SetDocumentsContext {
    access: {
        [key: string]: Array<string | number>;
    };
    accessFields?: Array<string>;
}
export interface SetDocumentsRequestOptions {
    organizationId?: string;
    folderId?: string;
    allDocuments?: boolean;
    locationId?: string;
    rootDocumentId?: string;
    context?: SetDocumentsContext;
    debounceTime?: number;
    optimisticPermissions?: boolean;
}
export interface UpdateDocumentsRequest<T = unknown> {
    organizationId?: string;
    folderId?: string;
    documents?: UpdateDocumentMetadata<T>[];
}
export interface UpdateDocumentMetadata<T = unknown> {
    documentId: string;
    [key: string]: T | string;
}
export interface UpdateLocationsRequest<T = unknown> {
    organizationId?: string;
    documentIds?: string[];
    locations?: UpdateLocationMetadata<T>[];
}
export interface UpdateLocationMetadata<T = unknown> {
    id: string;
    [key: string]: T | string;
}
export interface FetchDocumentsRequest {
    organizationId?: string;
    documentIds?: string[];
    folderId?: string;
    allDocuments?: boolean;
}
export interface FetchLocationsRequest {
    organizationId?: string;
    documentIds?: string[];
    folderId?: string;
    allDocuments?: boolean;
}
export interface FetchFoldersRequest {
    organizationId?: string;
    folderId?: string;
}
export interface FolderConfig {
    folderId?: string;
    allDocuments?: boolean;
    locationId?: string;
    veltFolderId?: string;
}
export interface OrganizationConfig {
    organizationId: string;
    clientOrganizationId: string;
}
