/**
 * Copyright (c) 2018-2026 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>
 * @author Aliaksei Chareshneu <chareshneu.tech@gmail.com>
 */
import { PluginContext } from '../../mol-plugin/context.js';
import { StateObjectSelector } from '../../mol-state/index.js';
import { PluginStateObject } from '../objects.js';
export declare const VolumeFormatCategory = "Volume";
type Params = {
    entryId?: string;
};
declare function defaultVisuals(plugin: PluginContext, data: {
    volume: StateObjectSelector<PluginStateObject.Volume.Data>;
}): Promise<StateObjectSelector<PluginStateObject.Volume.Representation3D, import("../../mol-state/index.js").StateTransformer<import("../../mol-state/index.js").StateObject<any, import("../../mol-state/index.js").StateObject.Type<any>>, import("../../mol-state/index.js").StateObject<any, import("../../mol-state/index.js").StateObject.Type<any>>, any>>[]>;
export declare const Ccp4Provider: {
    label: string;
    description: string;
    category: string;
    binaryExtensions: string[];
    parse: (plugin: PluginContext, data: import("../../mol-state/index.js").StateObjectRef<PluginStateObject.Data.String | PluginStateObject.Data.Binary>, params?: Params) => Promise<{
        format: StateObjectSelector<PluginStateObject.Format.Ccp4, import("../../mol-state/index.js").StateTransformer<PluginStateObject.Data.Binary, PluginStateObject.Format.Ccp4, import("../../mol-util/param-definition.js").ParamDefinition.Normalize<{}>>>;
        volume: StateObjectSelector<PluginStateObject.Volume.Data, import("../../mol-state/index.js").StateTransformer<PluginStateObject.Volume.Data, PluginStateObject.Volume.Data, import("../../mol-util/param-definition.js").ParamDefinition.Normalize<{
            autoAttach: string[];
            properties: import("../../mol-util/param-definition.js").ParamDefinition.Normalize<{
                [x: string]: /*elided*/ any;
            }>;
        }>>>;
    }>;
    visuals: typeof defaultVisuals;
};
export declare const Dsn6Provider: {
    label: string;
    description: string;
    category: string;
    binaryExtensions: string[];
    parse: (plugin: PluginContext, data: import("../../mol-state/index.js").StateObjectRef<PluginStateObject.Data.String | PluginStateObject.Data.Binary>, params?: Params) => Promise<{
        format: StateObjectSelector<PluginStateObject.Format.Dsn6, import("../../mol-state/index.js").StateTransformer<PluginStateObject.Data.Binary, PluginStateObject.Format.Dsn6, import("../../mol-util/param-definition.js").ParamDefinition.Normalize<{}>>>;
        volume: StateObjectSelector<PluginStateObject.Volume.Data, import("../../mol-state/index.js").StateTransformer<PluginStateObject.Volume.Data, PluginStateObject.Volume.Data, import("../../mol-util/param-definition.js").ParamDefinition.Normalize<{
            autoAttach: string[];
            properties: import("../../mol-util/param-definition.js").ParamDefinition.Normalize<{
                [x: string]: /*elided*/ any;
            }>;
        }>>>;
    }>;
    visuals: typeof defaultVisuals;
};
export declare const DxProvider: {
    label: string;
    description: string;
    category: string;
    stringExtensions: string[];
    binaryExtensions: string[];
    parse: (plugin: PluginContext, data: import("../../mol-state/index.js").StateObjectRef<PluginStateObject.Data.String | PluginStateObject.Data.Binary>, params?: Params) => Promise<{
        volume: StateObjectSelector<PluginStateObject.Volume.Data, import("../../mol-state/index.js").StateTransformer<PluginStateObject.Volume.Data, PluginStateObject.Volume.Data, import("../../mol-util/param-definition.js").ParamDefinition.Normalize<{
            autoAttach: string[];
            properties: import("../../mol-util/param-definition.js").ParamDefinition.Normalize<{
                [x: string]: /*elided*/ any;
            }>;
        }>>>;
    }>;
    visuals: typeof defaultVisuals;
};
export declare const CubeProvider: {
    label: string;
    description: string;
    category: string;
    stringExtensions: string[];
    parse: (plugin: PluginContext, data: import("../../mol-state/index.js").StateObjectRef<PluginStateObject.Data.String | PluginStateObject.Data.Binary>, params?: Params) => Promise<{
        format: StateObjectSelector<PluginStateObject.Format.Cube, import("../../mol-state/index.js").StateTransformer<PluginStateObject.Data.String, PluginStateObject.Format.Cube, import("../../mol-util/param-definition.js").ParamDefinition.Normalize<{}>>>;
        volume: StateObjectSelector<PluginStateObject.Volume.Data, import("../../mol-state/index.js").StateTransformer<PluginStateObject.Volume.Data, PluginStateObject.Volume.Data, import("../../mol-util/param-definition.js").ParamDefinition.Normalize<{
            autoAttach: string[];
            properties: import("../../mol-util/param-definition.js").ParamDefinition.Normalize<{
                [x: string]: /*elided*/ any;
            }>;
        }>>>;
        structure: StateObjectSelector<PluginStateObject.Molecule.Structure, import("../../mol-state/index.js").StateTransformer<PluginStateObject.Molecule.Structure, PluginStateObject.Molecule.Structure, import("../../mol-util/param-definition.js").ParamDefinition.Normalize<{
            autoAttach: string[];
            properties: import("../../mol-util/param-definition.js").ParamDefinition.Normalize<{
                [x: string]: /*elided*/ any;
            }>;
        }>>>;
    }>;
    visuals: (plugin: PluginContext, data: {
        volume: StateObjectSelector<PluginStateObject.Volume.Data>;
        structure: StateObjectSelector<PluginStateObject.Molecule.Structure>;
    }) => Promise<(StateObjectSelector<PluginStateObject.Molecule.Structure.Representation3D, import("../../mol-state/index.js").StateTransformer<import("../../mol-state/index.js").StateObject<any, import("../../mol-state/index.js").StateObject.Type<any>>, import("../../mol-state/index.js").StateObject<any, import("../../mol-state/index.js").StateObject.Type<any>>, any>> | StateObjectSelector<PluginStateObject.Volume.Representation3D, import("../../mol-state/index.js").StateTransformer<import("../../mol-state/index.js").StateObject<any, import("../../mol-state/index.js").StateObject.Type<any>>, import("../../mol-state/index.js").StateObject<any, import("../../mol-state/index.js").StateObject.Type<any>>, any>>)[]>;
};
type DsCifParams = {
    entryId?: string | string[];
};
export declare const DscifProvider: {
    label: string;
    description: string;
    category: string;
    stringExtensions: string[];
    binaryExtensions: string[];
    isApplicable: (info: import("../../mol-util/file-info.js").FileNameInfo, data: Uint8Array<ArrayBufferLike> | import("../../mol-io/common/string-like.js").StringLike) => boolean;
    parse: (plugin: PluginContext, data: import("../../mol-state/index.js").StateObjectRef<PluginStateObject.Data.String | PluginStateObject.Data.Binary>, params?: DsCifParams) => Promise<{
        volumes: StateObjectSelector<PluginStateObject.Volume.Data, import("../../mol-state/index.js").StateTransformer<import("../../mol-state/index.js").StateObject<any, import("../../mol-state/index.js").StateObject.Type<any>>, import("../../mol-state/index.js").StateObject<any, import("../../mol-state/index.js").StateObject.Type<any>>, any>>[];
    }>;
    visuals: (plugin: PluginContext, data: {
        volumes: StateObjectSelector<PluginStateObject.Volume.Data>[];
    }) => Promise<StateObjectSelector<PluginStateObject.Volume.Representation3D, import("../../mol-state/index.js").StateTransformer<import("../../mol-state/index.js").StateObject<any, import("../../mol-state/index.js").StateObject.Type<any>>, import("../../mol-state/index.js").StateObject<any, import("../../mol-state/index.js").StateObject.Type<any>>, any>>[]>;
};
export declare const SegcifProvider: {
    label: string;
    description: string;
    category: string;
    stringExtensions: string[];
    binaryExtensions: string[];
    isApplicable: (info: import("../../mol-util/file-info.js").FileNameInfo, data: Uint8Array<ArrayBufferLike> | import("../../mol-io/common/string-like.js").StringLike) => boolean;
    parse: (plugin: PluginContext, data: import("../../mol-state/index.js").StateObjectRef<PluginStateObject.Data.String | PluginStateObject.Data.Binary>) => Promise<{
        volumes: StateObjectSelector<PluginStateObject.Volume.Data, import("../../mol-state/index.js").StateTransformer<import("../../mol-state/index.js").StateObject<any, import("../../mol-state/index.js").StateObject.Type<any>>, import("../../mol-state/index.js").StateObject<any, import("../../mol-state/index.js").StateObject.Type<any>>, any>>[];
    }>;
    visuals: (plugin: PluginContext, data: {
        volumes: StateObjectSelector<PluginStateObject.Volume.Data>[];
    }) => Promise<StateObjectSelector<PluginStateObject.Volume.Representation3D, import("../../mol-state/index.js").StateTransformer<import("../../mol-state/index.js").StateObject<any, import("../../mol-state/index.js").StateObject.Type<any>>, import("../../mol-state/index.js").StateObject<any, import("../../mol-state/index.js").StateObject.Type<any>>, any>>[]>;
};
export declare const BuiltInVolumeFormats: readonly [readonly ["ccp4", {
    label: string;
    description: string;
    category: string;
    binaryExtensions: string[];
    parse: (plugin: PluginContext, data: import("../../mol-state/index.js").StateObjectRef<PluginStateObject.Data.String | PluginStateObject.Data.Binary>, params?: Params) => Promise<{
        format: StateObjectSelector<PluginStateObject.Format.Ccp4, import("../../mol-state/index.js").StateTransformer<PluginStateObject.Data.Binary, PluginStateObject.Format.Ccp4, import("../../mol-util/param-definition.js").ParamDefinition.Normalize<{}>>>;
        volume: StateObjectSelector<PluginStateObject.Volume.Data, import("../../mol-state/index.js").StateTransformer<PluginStateObject.Volume.Data, PluginStateObject.Volume.Data, import("../../mol-util/param-definition.js").ParamDefinition.Normalize<{
            autoAttach: string[];
            properties: import("../../mol-util/param-definition.js").ParamDefinition.Normalize<{
                [x: string]: /*elided*/ any;
            }>;
        }>>>;
    }>;
    visuals: typeof defaultVisuals;
}], readonly ["dsn6", {
    label: string;
    description: string;
    category: string;
    binaryExtensions: string[];
    parse: (plugin: PluginContext, data: import("../../mol-state/index.js").StateObjectRef<PluginStateObject.Data.String | PluginStateObject.Data.Binary>, params?: Params) => Promise<{
        format: StateObjectSelector<PluginStateObject.Format.Dsn6, import("../../mol-state/index.js").StateTransformer<PluginStateObject.Data.Binary, PluginStateObject.Format.Dsn6, import("../../mol-util/param-definition.js").ParamDefinition.Normalize<{}>>>;
        volume: StateObjectSelector<PluginStateObject.Volume.Data, import("../../mol-state/index.js").StateTransformer<PluginStateObject.Volume.Data, PluginStateObject.Volume.Data, import("../../mol-util/param-definition.js").ParamDefinition.Normalize<{
            autoAttach: string[];
            properties: import("../../mol-util/param-definition.js").ParamDefinition.Normalize<{
                [x: string]: /*elided*/ any;
            }>;
        }>>>;
    }>;
    visuals: typeof defaultVisuals;
}], readonly ["cube", {
    label: string;
    description: string;
    category: string;
    stringExtensions: string[];
    parse: (plugin: PluginContext, data: import("../../mol-state/index.js").StateObjectRef<PluginStateObject.Data.String | PluginStateObject.Data.Binary>, params?: Params) => Promise<{
        format: StateObjectSelector<PluginStateObject.Format.Cube, import("../../mol-state/index.js").StateTransformer<PluginStateObject.Data.String, PluginStateObject.Format.Cube, import("../../mol-util/param-definition.js").ParamDefinition.Normalize<{}>>>;
        volume: StateObjectSelector<PluginStateObject.Volume.Data, import("../../mol-state/index.js").StateTransformer<PluginStateObject.Volume.Data, PluginStateObject.Volume.Data, import("../../mol-util/param-definition.js").ParamDefinition.Normalize<{
            autoAttach: string[];
            properties: import("../../mol-util/param-definition.js").ParamDefinition.Normalize<{
                [x: string]: /*elided*/ any;
            }>;
        }>>>;
        structure: StateObjectSelector<PluginStateObject.Molecule.Structure, import("../../mol-state/index.js").StateTransformer<PluginStateObject.Molecule.Structure, PluginStateObject.Molecule.Structure, import("../../mol-util/param-definition.js").ParamDefinition.Normalize<{
            autoAttach: string[];
            properties: import("../../mol-util/param-definition.js").ParamDefinition.Normalize<{
                [x: string]: /*elided*/ any;
            }>;
        }>>>;
    }>;
    visuals: (plugin: PluginContext, data: {
        volume: StateObjectSelector<PluginStateObject.Volume.Data>;
        structure: StateObjectSelector<PluginStateObject.Molecule.Structure>;
    }) => Promise<(StateObjectSelector<PluginStateObject.Molecule.Structure.Representation3D, import("../../mol-state/index.js").StateTransformer<import("../../mol-state/index.js").StateObject<any, import("../../mol-state/index.js").StateObject.Type<any>>, import("../../mol-state/index.js").StateObject<any, import("../../mol-state/index.js").StateObject.Type<any>>, any>> | StateObjectSelector<PluginStateObject.Volume.Representation3D, import("../../mol-state/index.js").StateTransformer<import("../../mol-state/index.js").StateObject<any, import("../../mol-state/index.js").StateObject.Type<any>>, import("../../mol-state/index.js").StateObject<any, import("../../mol-state/index.js").StateObject.Type<any>>, any>>)[]>;
}], readonly ["dx", {
    label: string;
    description: string;
    category: string;
    stringExtensions: string[];
    binaryExtensions: string[];
    parse: (plugin: PluginContext, data: import("../../mol-state/index.js").StateObjectRef<PluginStateObject.Data.String | PluginStateObject.Data.Binary>, params?: Params) => Promise<{
        volume: StateObjectSelector<PluginStateObject.Volume.Data, import("../../mol-state/index.js").StateTransformer<PluginStateObject.Volume.Data, PluginStateObject.Volume.Data, import("../../mol-util/param-definition.js").ParamDefinition.Normalize<{
            autoAttach: string[];
            properties: import("../../mol-util/param-definition.js").ParamDefinition.Normalize<{
                [x: string]: /*elided*/ any;
            }>;
        }>>>;
    }>;
    visuals: typeof defaultVisuals;
}], readonly ["dscif", {
    label: string;
    description: string;
    category: string;
    stringExtensions: string[];
    binaryExtensions: string[];
    isApplicable: (info: import("../../mol-util/file-info.js").FileNameInfo, data: Uint8Array<ArrayBufferLike> | import("../../mol-io/common/string-like.js").StringLike) => boolean;
    parse: (plugin: PluginContext, data: import("../../mol-state/index.js").StateObjectRef<PluginStateObject.Data.String | PluginStateObject.Data.Binary>, params?: DsCifParams) => Promise<{
        volumes: StateObjectSelector<PluginStateObject.Volume.Data, import("../../mol-state/index.js").StateTransformer<import("../../mol-state/index.js").StateObject<any, import("../../mol-state/index.js").StateObject.Type<any>>, import("../../mol-state/index.js").StateObject<any, import("../../mol-state/index.js").StateObject.Type<any>>, any>>[];
    }>;
    visuals: (plugin: PluginContext, data: {
        volumes: StateObjectSelector<PluginStateObject.Volume.Data>[];
    }) => Promise<StateObjectSelector<PluginStateObject.Volume.Representation3D, import("../../mol-state/index.js").StateTransformer<import("../../mol-state/index.js").StateObject<any, import("../../mol-state/index.js").StateObject.Type<any>>, import("../../mol-state/index.js").StateObject<any, import("../../mol-state/index.js").StateObject.Type<any>>, any>>[]>;
}], readonly ["segcif", {
    label: string;
    description: string;
    category: string;
    stringExtensions: string[];
    binaryExtensions: string[];
    isApplicable: (info: import("../../mol-util/file-info.js").FileNameInfo, data: Uint8Array<ArrayBufferLike> | import("../../mol-io/common/string-like.js").StringLike) => boolean;
    parse: (plugin: PluginContext, data: import("../../mol-state/index.js").StateObjectRef<PluginStateObject.Data.String | PluginStateObject.Data.Binary>) => Promise<{
        volumes: StateObjectSelector<PluginStateObject.Volume.Data, import("../../mol-state/index.js").StateTransformer<import("../../mol-state/index.js").StateObject<any, import("../../mol-state/index.js").StateObject.Type<any>>, import("../../mol-state/index.js").StateObject<any, import("../../mol-state/index.js").StateObject.Type<any>>, any>>[];
    }>;
    visuals: (plugin: PluginContext, data: {
        volumes: StateObjectSelector<PluginStateObject.Volume.Data>[];
    }) => Promise<StateObjectSelector<PluginStateObject.Volume.Representation3D, import("../../mol-state/index.js").StateTransformer<import("../../mol-state/index.js").StateObject<any, import("../../mol-state/index.js").StateObject.Type<any>>, import("../../mol-state/index.js").StateObject<any, import("../../mol-state/index.js").StateObject.Type<any>>, any>>[]>;
}]];
export type BuildInVolumeFormat = (typeof BuiltInVolumeFormats)[number][0];
export {};
