import { type ViewUpdate } from "@codemirror/view";
import { type Extension } from "@codemirror/state";
import { nextSuggestionCommand, startCompletion } from "./commands.js";
import { type CodeiumConfig, type CodeiumOtherDocumentsConfig, codeiumConfig, codeiumOtherDocumentsConfig } from "./config.js";
import { Language } from "./api/proto/exa/codeium_common_pb/codeium_common_pb.js";
import { copilotIgnore } from "./annotations.js";
export { Language, copilotIgnore, codeiumConfig, codeiumOtherDocumentsConfig, nextSuggestionCommand, startCompletion, type CodeiumOtherDocumentsConfig, type CodeiumConfig, };
/**
 * A combination of configuration, the keymap, the
 * requester - as a composite extension for simplicity.
 */
export declare function copilotPlugin(config: CodeiumConfig): Extension;
/**
 * Returns false if this ViewUpdate is just the plugin
 * adding or removing ghost text, and it should not be
 * considered when saving this CodeMirror state into other
 * systems, like draft recovery.
 */
export declare function shouldTakeUpdate(update: ViewUpdate): boolean;
//# sourceMappingURL=plugin.d.ts.map