import { UmbContextBase } from '../../../../libs/class-api/index.js';
import { UmbContextToken } from '../../../../libs/context-api/index.js';
import type { UmbControllerHost } from '../../../../libs/controller-api/index.js';
import type { UmbApi } from '../../../../libs/extension-api/index.js';
import { type DocumentConfigurationResponseModel } from '../../../core/backend-api/index.js';
/**
 * A context for fetching and caching the document configuration.
 * @internal
 */
export declare class UmbDocumentConfigurationContext extends UmbContextBase implements UmbApi {
    #private;
    constructor(host: UmbControllerHost);
    /**
     * Get the document configuration from the server, or return the cached configuration if it has already been fetched.
     * @returns A promise that resolves to the document configuration, or null if the configuration could not be fetched.
     */
    getDocumentConfiguration(): Promise<DocumentConfigurationResponseModel | null>;
    /**
     * Fetch the document configuration from the server.
     * @returns A promise that resolves to the document configuration, or null if the configuration could not be fetched.
     */
    fetchDocumentConfiguration(): Promise<DocumentConfigurationResponseModel>;
}
export default UmbDocumentConfigurationContext;
/**
 * @internal
 */
export declare const UMB_DOCUMENT_CONFIGURATION_CONTEXT: UmbContextToken<UmbDocumentConfigurationContext, UmbDocumentConfigurationContext>;
