/**
 * Copyright (c) 2019-2025 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 Kim Juho <juho_kim@outlook.com>
 */
import { CifField } from '../../../mol-io/reader/cif.js';
import { mmCIF_Schema } from '../../../mol-io/reader/cif/schema/mmcif.js';
import { Tokenizer } from '../../../mol-io/reader/common/text/tokenizer.js';
import { Column } from '../../../mol-data/db.js';
import { StringLike } from '../../../mol-io/common/string-like.js';
type AtomSiteTemplate = typeof getAtomSiteTemplate extends (...args: any) => infer T ? T : never;
export declare function getAtomSiteTemplate(data: StringLike, count: number): {
    index: number;
    group_PDB: import("../../../mol-io/reader/common/text/tokenizer.js").Tokens;
    id: string[];
    auth_atom_id: import("../../../mol-io/reader/common/text/tokenizer.js").Tokens;
    label_alt_id: import("../../../mol-io/reader/common/text/tokenizer.js").Tokens;
    auth_comp_id: import("../../../mol-io/reader/common/text/tokenizer.js").Tokens;
    auth_asym_id: import("../../../mol-io/reader/common/text/tokenizer.js").Tokens;
    auth_seq_id: import("../../../mol-io/reader/common/text/tokenizer.js").Tokens;
    pdbx_PDB_ins_code: import("../../../mol-io/reader/common/text/tokenizer.js").Tokens;
    Cartn_x: import("../../../mol-io/reader/common/text/tokenizer.js").Tokens;
    Cartn_y: import("../../../mol-io/reader/common/text/tokenizer.js").Tokens;
    Cartn_z: import("../../../mol-io/reader/common/text/tokenizer.js").Tokens;
    occupancy: import("../../../mol-io/reader/common/text/tokenizer.js").Tokens;
    B_iso_or_equiv: import("../../../mol-io/reader/common/text/tokenizer.js").Tokens;
    type_symbol: import("../../../mol-io/reader/common/text/tokenizer.js").Tokens;
    pdbx_PDB_model_num: string[];
    label_entity_id: string[];
    partial_charge: import("../../../mol-io/reader/common/text/tokenizer.js").Tokens;
};
export declare class LabelAsymIdHelper {
    private asymIds;
    private modelNums;
    private terIndices;
    private hasAssemblies;
    constructor(asymIds: Column<string>, modelNums: string[], terIndices: Set<number>, hasAssemblies: boolean);
    private asymIdCounts;
    private currModelNum;
    private currAsymId;
    private currLabelAsymId;
    clear(): void;
    get(i: number): string;
}
export declare function getAtomSite(sites: AtomSiteTemplate, labelAsymIdHelper: LabelAsymIdHelper, options: {
    hasAssemblies: boolean;
}): {
    [K in keyof mmCIF_Schema['atom_site'] | 'partial_charge']?: CifField;
};
export declare function addAtom(sites: AtomSiteTemplate, model: string, data: Tokenizer, s: number, e: number, isPdbqt: boolean): void;
export {};
