/**
 * Copyright (c) 2019-2021 Mol* contributors, licensed under MIT, See LICENSE file for more info.
 *
 * @author Alexander Rose <alexander.rose@weirdbyte.de>
 */
import { CustomPropertyDescriptor } from '../../../../mol-model/custom-property';
import { IntAdjacencyGraph } from '../../../../mol-math/graph';
import { Column } from '../../../../mol-data/db';
import { FormatPropertyProvider } from '../../common/property';
import { BondType } from '../../../../mol-model/structure/model/types';
import { ElementIndex } from '../../../../mol-model/structure';
export declare type IndexPairsProps = {
    readonly order: ArrayLike<number>;
    readonly distance: ArrayLike<number>;
    readonly flag: ArrayLike<BondType.Flag>;
};
export declare type IndexPairs = IntAdjacencyGraph<ElementIndex, IndexPairsProps>;
export declare type IndexPairBonds = {
    bonds: IndexPairs;
    maxDistance: number;
};
export declare namespace IndexPairBonds {
    const Descriptor: CustomPropertyDescriptor;
    const Provider: FormatPropertyProvider<IndexPairBonds>;
    type Data = {
        pairs: {
            indexA: Column<number>;
            indexB: Column<number>;
            order?: Column<number>;
            distance?: Column<number>;
            flag?: Column<BondType.Flag>;
        };
        count: number;
    };
    const DefaultProps: {
        maxDistance: number;
    };
    type Props = typeof DefaultProps;
    function fromData(data: Data, props?: Partial<Props>): IndexPairBonds;
}
