/**
 * Copyright (c) 2019 mol* contributors, licensed under MIT, See LICENSE file for more info.
 *
 * @author Alexander Rose <alexander.rose@weirdbyte.de>
 */
import { Loci } from '../../mol-model/loci';
import { MarkerAction } from '../../mol-util/marker-action';
import { StructureElement, Structure, Unit } from '../../mol-model/structure';
import { Color } from '../../mol-util/color';
export declare type StructureUnit = {
    structure: Structure;
    units: Unit[];
};
export { SequenceWrapper };
declare abstract class SequenceWrapper<D> {
    readonly data: D;
    readonly markerArray: Uint8Array;
    readonly length: number;
    abstract residueLabel(seqIdx: number): string;
    abstract residueColor(seqIdx: number): Color;
    abstract residueClass(seqIdx: number): string;
    abstract getLoci(seqIdx: number): StructureElement.Loci;
    abstract mark(loci: Loci, action: MarkerAction): boolean;
    markResidue(loci: Loci, action: MarkerAction): boolean;
    constructor(data: D, markerArray: Uint8Array, length: number);
}
declare namespace SequenceWrapper {
    type Any = SequenceWrapper<any>;
}
