import { Ref, ShallowReactive, ComputedRef } from 'vue';
import { TemplateDto } from './useOpenApi';
import { Engine } from '../..';
import { PlatformType, BlockSchema } from '@vtj/core';
import { MessageBoxData } from 'element-plus';
import { Dictionary } from 'lodash';
import { Access } from '@vtj/renderer';
export declare function useTemplates(): {
    engine: ShallowReactive<Engine>;
    templates: Ref<TemplateDto[], TemplateDto[]>;
    toRemoteAuth: () => void;
    isLogined: () => Promise<boolean>;
    getTemplates: (platform?: PlatformType) => Promise<TemplateDto[]>;
    getTemplateDsl: (id: string) => Promise< BlockSchema | null>;
    installTemplate: (templateId: string) => Promise< MessageBoxData | undefined>;
    removeTemplate: (id: string) => Promise<boolean>;
    groups: ComputedRef<Dictionary<TemplateDto[]>>;
    access: Access | undefined;
    refreshTemplates: () => void;
    loading: Ref<boolean, boolean>;
};
