/**
 * Copyright (c) 2018-2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
 *
 * @author David Sehnal <david.sehnal@gmail.com>
 * @author Alexander Rose <alexander.rose@weirdbyte.de>
 */
import { PluginContext } from '../../mol-plugin/context';
import { StateObjectRef } from '../../mol-state';
import { PluginStateObject } from '../objects';
export declare const ShapeFormatCategory = "Shape";
export declare const PlyProvider: {
    label: string;
    description: string;
    category: string;
    stringExtensions: string[];
    parse: (plugin: PluginContext, data: StateObjectRef<PluginStateObject.Data.String | PluginStateObject.Data.Binary>) => Promise<{
        format: import("../../mol-state").StateObjectSelector<PluginStateObject.Format.Ply, import("../../mol-state/transformer").StateTransformer<PluginStateObject.Data.String, PluginStateObject.Format.Ply, import("../../mol-util/param-definition").ParamDefinition.Normalize<{}>>>;
        shape: import("../../mol-state").StateObjectSelector<PluginStateObject.Shape.Provider, import("../../mol-state/transformer").StateTransformer<PluginStateObject.Format.Ply, PluginStateObject.Shape.Provider, import("../../mol-util/param-definition").ParamDefinition.Normalize<{}>>>;
    }>;
    visuals(plugin: PluginContext, data: {
        shape: StateObjectRef<PluginStateObject.Shape.Provider>;
    }): Promise<import("../../mol-state").StateObjectSelector<PluginStateObject.Shape.Representation3D, import("../../mol-state/transformer").StateTransformer<import("../../mol-state/object").StateObject<any, import("../../mol-state/object").StateObject.Type<any>>, import("../../mol-state/object").StateObject<any, import("../../mol-state/object").StateObject.Type<any>>, any>>>;
};
export declare const BuiltInShapeFormats: readonly [readonly ["ply", {
    label: string;
    description: string;
    category: string;
    stringExtensions: string[];
    parse: (plugin: PluginContext, data: StateObjectRef<PluginStateObject.Data.String | PluginStateObject.Data.Binary>) => Promise<{
        format: import("../../mol-state").StateObjectSelector<PluginStateObject.Format.Ply, import("../../mol-state/transformer").StateTransformer<PluginStateObject.Data.String, PluginStateObject.Format.Ply, import("../../mol-util/param-definition").ParamDefinition.Normalize<{}>>>;
        shape: import("../../mol-state").StateObjectSelector<PluginStateObject.Shape.Provider, import("../../mol-state/transformer").StateTransformer<PluginStateObject.Format.Ply, PluginStateObject.Shape.Provider, import("../../mol-util/param-definition").ParamDefinition.Normalize<{}>>>;
    }>;
    visuals(plugin: PluginContext, data: {
        shape: StateObjectRef<PluginStateObject.Shape.Provider>;
    }): Promise<import("../../mol-state").StateObjectSelector<PluginStateObject.Shape.Representation3D, import("../../mol-state/transformer").StateTransformer<import("../../mol-state/object").StateObject<any, import("../../mol-state/object").StateObject.Type<any>>, import("../../mol-state/object").StateObject<any, import("../../mol-state/object").StateObject.Type<any>>, any>>>;
}]];
export declare type BuildInShapeFormat = (typeof BuiltInShapeFormats)[number][0];
