export interface GitCodeEditorLoadedFile {
    content: string;
    language?: string;
}
export interface GitCodeEditorProps {
    /** Repository identifier (display only). */
    repository?: string;
    /** Current branch (v-modelable). */
    branch?: string;
    /** Current file path (v-modelable). */
    path?: string;
    /** File content (v-modelable via modelValue). */
    modelValue?: string;
    /** Lists the branches for the branch selector. */
    onLoadBranches?: () => Promise<string[]>;
    /** REQUIRED loader for the current (path, branch). */
    onLoadFile?: (path: string, branch: string) => Promise<GitCodeEditorLoadedFile>;
    /** Optional save callback. When omitted, the save button is hidden. */
    onSaveFile?: (path: string, branch: string, content: string) => Promise<void>;
    /** Syntax hint. Default plaintext; overridden by `onLoadFile`'s response. */
    language?: string;
    readonly?: boolean;
    disabled?: boolean;
    required?: boolean;
    label?: string;
    hideLabel?: boolean;
    name?: string | null;
    id?: string;
    helpText?: string;
    errors?: string[];
    classList?: string[] | string;
}
declare function loadFile(): Promise<void>;
declare function save(): Promise<void>;
declare const _default: import('vue').DefineComponent<GitCodeEditorProps, {
    reload: typeof loadFile;
    save: typeof save;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    "update:modelValue": (value: string) => any;
    "update:branch": (value: string) => any;
    "update:path": (value: string) => any;
    "update:language": (value: string) => any;
}, string, import('vue').PublicProps, Readonly<GitCodeEditorProps> & Readonly<{
    "onUpdate:modelValue"?: ((value: string) => any) | undefined;
    "onUpdate:branch"?: ((value: string) => any) | undefined;
    "onUpdate:path"?: ((value: string) => any) | undefined;
    "onUpdate:language"?: ((value: string) => any) | undefined;
}>, {
    label: string;
    language: string;
    errors: string[];
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
export default _default;
//# sourceMappingURL=GitCodeEditor.vue.d.ts.map