import { BlockSchema, PlatformType } from '@vtj/core';
import { ShallowReactive } from 'vue';
import { Engine } from '../..';
import { Access } from '@vtj/renderer';
export interface PublishTemplateDto {
    name: string;
    label: string;
    category: string;
    cover: Blob;
    share: boolean;
    version: string;
    platform: string;
    latest?: string;
    dsl: string;
    id?: string;
}
export interface TemplateDto {
    id: string;
    name: string;
    label: string;
    vip: boolean;
    share: boolean;
    cover: string;
    author: string;
    userId: string;
    category: string;
    latest: string;
    platform: string;
}
export declare function useOpenApi(): {
    engine: ShallowReactive<Engine>;
    access: Access | undefined;
    remote: string;
    toRemoteAuth: () => void;
    isLogined: () => Promise<boolean>;
    getTemplates: (platform?: PlatformType) => Promise<TemplateDto[]>;
    getTemplateDsl: (id: string) => Promise<BlockSchema | null>;
    getDictOptions: (code: string) => Promise<any>;
    getTemplateCategories: () => Promise<any>;
    publishTemplate: (dto: PublishTemplateDto) => Promise<any>;
    getTemplateById: (id: string) => Promise<TemplateDto>;
    removeTemplate: (id: string) => Promise<boolean>;
};
