import { BaseResponse, CommonFetchParams, ComponentEditVersionEntity, ComponentsLiveVersionUpdateParams, ComponentsVersionPublishParams, ComponentsVersionSaveParams, ComponentsVersionUpdateParams, ComponentVersionEntityResource, RemoteResource } from '@/types/index';
export declare type AppComponentDetailFetchComponentInfoParams = Pick<CommonFetchParams, 'applicationId' | 'id'>;
export interface AppComponentDetailFetchComponentVersionsParams {
}
export declare type AppComponentDetailAddComponentVersionParams = Partial<ComponentsVersionSaveParams>;
export declare type AppComponentDetailEditComponentVersionParams = ComponentsVersionUpdateParams;
export declare type AppComponentDetailUpdateComponentVersionStatueParams = ComponentsVersionPublishParams;
export declare type AppComponentDetailLiveComponentVersionParams = ComponentsLiveVersionUpdateParams;
export interface RemoteComponentFetchParams extends Omit<CommonFetchParams, 'organizationId'> {
    groupId: string;
    name?: string;
}
export interface ComponentRemoteSaveParams<T = ComponentRemote> {
    applicationId: string;
    components: T[];
}
export interface EditorComponent {
    name: string;
    groupId: string;
    component: {
        id?: string;
        version?: string;
        content: {
            resource: {
                entry: {
                    browser?: string;
                    css?: string;
                    debug?: string;
                    node?: string;
                    editor?: string;
                };
                ['editor-entry']?: any[];
            };
            meta: {};
            schema: {};
        };
    };
}
export declare type EditorComponentSaveParams = ComponentRemoteSaveParams<EditorComponent>;
export interface EditorComponentSavedRes extends BaseResponse<Record<string, string>> {
}
export interface ComponentRemote {
    component: {
        content: {
            meta?: {};
            resource: ComponentVersionEntityResource;
        };
        id: string;
        version: string;
    };
    resource: RemoteResource;
}
export interface RemoteComponentItem {
    lastVersion: ComponentEditVersionEntity;
    components: ComponentRemote[];
}
export interface EditorBatchPublishParams {
    applicationId: string;
    idVersions: {
        id: string;
        version?: string;
    }[];
}
