import type { AuthorizationModel as ApiAuthorizationModel } from "@openfga/sdk";
import type { editor, languages, Position } from "monaco-editor";
import { SchemaVersion } from "../../../constants/schema-version";
import { MonacoEditor } from "../typings";
type AuthorizationModel = Required<Pick<ApiAuthorizationModel, "schema_version" | "type_definitions">>;
export type CompletionExtraOptions = {
    samples?: Record<string, AuthorizationModel> & {
        entitlements?: AuthorizationModel;
        expenses?: AuthorizationModel;
        gdrive?: AuthorizationModel;
        generic?: AuthorizationModel;
        github?: AuthorizationModel;
        iot?: AuthorizationModel;
        slack?: AuthorizationModel;
        customRoles?: AuthorizationModel;
    };
};
export declare const provideCompletionItems: (monaco: typeof MonacoEditor, schemaVersion?: SchemaVersion, completionExtraOptions?: CompletionExtraOptions) => (model: editor.ITextModel, position: Position) => languages.ProviderResult<languages.CompletionList>;
export {};
