export type AxisKind = 'row' | 'column';
export interface AxisEntrySnapshot {
    readonly id: string;
    readonly index: number;
}
export declare class AxisMap {
    private readonly entries;
    private readonly idToIndex;
    private reverseIndexDirty;
    get(index: number): string | undefined;
    getId(index: number): string | undefined;
    set(index: number, id: string): void;
    setId(index: number, id: string): void;
    ensure(index: number, createId: () => string): string;
    ensureId(index: number, createId: () => string): string;
    ensureDenseIds(start: number, count: number, createId: () => string): string[];
    ensureDenseIdsFrom(start: number, count: number, createIds: (count: number) => readonly string[]): string[];
    indexOf(id: string): number;
    get length(): number;
    list(): AxisEntrySnapshot[];
    snapshot(start: number, count: number): AxisEntrySnapshot[];
    replaceRange(start: number, entries: readonly AxisEntrySnapshot[]): void;
    splice(start: number, deleteCount: number, entries: readonly AxisEntrySnapshot[]): AxisEntrySnapshot[];
    splice(start: number, deleteCount: number, insertCount: number, entries: readonly AxisEntrySnapshot[]): AxisEntrySnapshot[];
    move(start: number, count: number, target: number): void;
    private ensureReverseIndex;
    private rebuildIndex;
    private rebuildIndexFrom;
}
