/** Mark a language as fully initialized (should be called after mode.setupMode). */
export declare function markLanguageReady(languageId: string): void;
/** Await the full initialization of the language (tokens/providers registered). */
export declare function whenLanguageReady(languageId: string): Promise<void>;
/**
 * helper to track the languages that have been encountered in monaco-editor.
 * Useful for wrapping callbacks passed to monaco's languages.onLanguage function.
 * See arcade-contribution for usage.
 */
export declare function withLanguageTracking(languageId: string, registerCallback: () => void): () => void;
/**
 * Sets up the language in the editor outside of the editor.
 * This is useful for when the editor is not present, but we still want to use the language features, like theming.
 * We do this by creating a model with the languageId and then disposing of it.
 * See usage in {@link ArcgisLanguageApiPanel}.
 */
export declare function setupLanguageOutsideEditor(languageId: string): Promise<void>;
