import { IResponseData } from "../../../../Common/Request";
export interface RenderClassList extends IResponseData {
    class: ResourceClass[];
    brands: ResourceBrands[];
    params: ResourceParams[];
}
export interface ModuleList extends IResponseData {
    count: number;
    data: ModuleData[];
}
export declare enum ResType {
    fbx = "1",
    Mtl = "2"
}
export declare enum ModuleSource {
    UE = "1",
    WebCAD = "2"
}
export interface ModuleDetail extends IResponseData {
    sn: string;
    path: string;
    etag: string;
    size: string;
    type: ResType;
    source: ModuleSource;
}
export interface ResourceClass {
    parent: ResourceClass;
    id: string;
    name: string;
    logo: string;
    params: string[];
    c: ResourceClass[];
    brands: string[];
}
export interface ResourceBrands {
    brand_id: string;
    logo: string;
    name: string;
}
export interface ResourceParams {
    param_enums: string[] | Object[];
    param_id: string;
    param_name: string;
    param_type: string;
}
export declare enum ResourceModuleType {
    fbx = "1",
    mtl = "2"
}
export interface ModuleData {
    class_id?: string;
    collect_id?: string;
    dir_id?: string;
    collect?: {
        collect_id: string;
        dir_id: string;
    };
    downloads: number;
    logo: string;
    module_id: string;
    name: string;
    sn: string;
    type: ResourceModuleType;
    buy_url: Array<{
        mall: string;
        price: string;
        url: string;
    }>;
    dimension: string;
}
export interface Folder {
    dir_id: string;
    dir_name: string;
    create_date?: string;
}
export interface UserFolder extends IResponseData {
    dirs: Folder[];
}
export interface UserCollections extends IResponseData {
    count: number;
    modules: ModuleData[];
    class: any;
}
export interface PrivateDirsParams {
    curr_page: number;
    page_count: number;
    order: string;
    dir_id?: string;
    name?: string;
    sn?: string;
    module_id?: string;
}
export interface PrivateDirs {
    dir_id: string;
    dir_name: string;
    dir_level?: string;
    create_date?: string;
    update_date?: string;
    childs?: PrivateDirs[];
}
export interface PrivateModuleDirs extends IResponseData {
    dirs: PrivateDirs[];
}
export interface PrivateModuleItem {
    module_id: string;
    dir_id: string;
    name: string;
    sn: String;
    logo: string;
    path: string;
    dimension: string;
    state: string;
    create_date: string;
    update_data: string;
    comments: string;
}
export interface PrivateModuleList extends IResponseData {
    count: number;
    modules: PrivateModuleItem[];
}
export declare enum ModuleType {
    Public = 0,//公有模型
    Private = 1
}
//# sourceMappingURL=ResourceInterfaces.d.ts.map