/// <reference types="node" />
import { Parser } from 'binary-parser';
declare type InternalKeys = '__start' | '__current';
declare type Parsed<P extends Parser<any>> = Omit<ReturnType<P['parse']>, InternalKeys>;
declare const sqPackHeaderParser: Parser<{
    __start: number;
} & {
    magic: number[];
} & {
    platformId: number;
} & {
    size: number;
} & {
    version: number;
} & {
    type: number;
} & {
    __current: number;
}>;
export declare type SqPackHeader = Parsed<typeof sqPackHeaderParser>;
declare const lsdParser: Parser.Next<{
    location: number;
} & {
    size: number;
}, "digest", Buffer>;
export declare type LSD = Parsed<typeof lsdParser>;
declare const sqPackIndexHeaderParser: Parser<{
    __start: number;
} & {
    size: number;
} & {
    version: number;
} & {
    indexData: {
        location: number;
    } & {
        size: number;
    } & {
        digest: Buffer;
    };
} & {
    dataFileCount: number;
} & {
    synonymData: {
        location: number;
    } & {
        size: number;
    } & {
        digest: Buffer;
    };
} & {
    emptyBlockData: {
        location: number;
    } & {
        size: number;
    } & {
        digest: Buffer;
    };
} & {
    dirIndexData: {
        location: number;
    } & {
        size: number;
    } & {
        digest: Buffer;
    };
} & {
    indexType: number;
} & {
    selfHash: Buffer;
} & {
    __current: number;
}>;
export declare type SqPackIndexHeader = Parsed<typeof sqPackIndexHeaderParser>;
declare const hashTablePackedOffsetParser: Parser.Next<undefined, "data", number>;
export declare type HashTablePackedOffset = Parsed<typeof hashTablePackedOffsetParser>;
declare const indexHashTableEntryParser: Parser<{
    hash: bigint;
} & Pick<{
    data: number;
}, "data">>;
export declare type IndexHashTableEntry = Parsed<typeof indexHashTableEntryParser>;
export declare const sqPackIndexParser: Parser.Next<{
    sqPackHeader: {
        __start: number;
    } & {
        magic: number[];
    } & {
        platformId: number;
    } & {
        size: number;
    } & {
        version: number;
    } & {
        type: number;
    } & {
        __current: number;
    };
} & {
    sqPackIndexHeader: {
        __start: number;
    } & {
        size: number;
    } & {
        version: number;
    } & {
        indexData: {
            location: number;
        } & {
            size: number;
        } & {
            digest: Buffer;
        };
    } & {
        dataFileCount: number;
    } & {
        synonymData: {
            location: number;
        } & {
            size: number;
        } & {
            digest: Buffer;
        };
    } & {
        emptyBlockData: {
            location: number;
        } & {
            size: number;
        } & {
            digest: Buffer;
        };
    } & {
        dirIndexData: {
            location: number;
        } & {
            size: number;
        } & {
            digest: Buffer;
        };
    } & {
        indexType: number;
    } & {
        selfHash: Buffer;
    } & {
        __current: number;
    };
} & {
    __current: number;
}, "indexes", ({
    hash: bigint;
} & Pick<{
    data: number;
}, "data">)[]>;
export declare type SqPackIndex = Parsed<typeof sqPackIndexParser>;
export declare const sqPackIndex2Parser: Parser.Next<{
    sqPackHeader: {
        __start: number;
    } & {
        magic: number[];
    } & {
        platformId: number;
    } & {
        size: number;
    } & {
        version: number;
    } & {
        type: number;
    } & {
        __current: number;
    };
} & {
    sqPackIndexHeader: {
        __start: number;
    } & {
        size: number;
    } & {
        version: number;
    } & {
        indexData: {
            location: number;
        } & {
            size: number;
        } & {
            digest: Buffer;
        };
    } & {
        dataFileCount: number;
    } & {
        synonymData: {
            location: number;
        } & {
            size: number;
        } & {
            digest: Buffer;
        };
    } & {
        emptyBlockData: {
            location: number;
        } & {
            size: number;
        } & {
            digest: Buffer;
        };
    } & {
        dirIndexData: {
            location: number;
        } & {
            size: number;
        } & {
            digest: Buffer;
        };
    } & {
        indexType: number;
    } & {
        selfHash: Buffer;
    } & {
        __current: number;
    };
} & {
    __current: number;
}, "indexes", ({
    hash: number;
} & Pick<{
    data: number;
}, "data">)[]>;
export {};
