import { PackageType } from '../../entiry';
import { Parse } from '../../specification';
import { Hook } from './hook';
export interface ComponentConfig {
    Component: string;
    Provider: string;
    Access?: string;
    Extends: any;
    Properties: {
        [key: string]: any;
    };
    Params: any;
    ProjectName: string;
}
export interface VersionCheckParams {
    name: string;
    type: PackageType;
    provider: string;
}
export interface GenerateComponentExeParams {
    list: string[];
    parse: Parse;
    parsedObj: any;
    method: string;
    params: string;
}
export declare function synchronizeExecuteComponentList(list?: any, index?: any, initData?: any): Promise<any>;
export declare function generateSynchronizeComponentExeList({ list, parse, parsedObj, method, params }: GenerateComponentExeParams, equipment: (parse: Parse, projectName: string, parsedObj: any) => Promise<ComponentConfig>): any[];
export declare class ComponentExeCute {
    protected componentConfig: ComponentConfig;
    protected method: string;
    protected version: string;
    protected credentials: any;
    constructor(componentConfig: ComponentConfig, method: string, version?: string);
    init(): Promise<any>;
    getCredentials(): Promise<any>;
    private loadExtends;
    loadPreExtends(extend: Hook | null): Promise<void>;
    loadAfterExtend(extend: Hook | null): Promise<void>;
    invokeMethod(componentInstance: any, method: string, data: any): Promise<unknown>;
    executeCommand(): Promise<any>;
    startExecute(): Promise<any>;
}
