import { Encoded } from '../../../utils/encoder.js';
import { EntryTag } from './constants.js';
import { EntParams, EntUnpacked } from './schema.generated.js';
export declare function packEntry(params: EntParams & {
    tag: EntryTag.CallsMtree;
}): Encoded.CallStateTree;
export declare function packEntry(params: EntParams & {
    tag: EntryTag.StateTrees;
}): Encoded.StateTrees;
export declare function packEntry(params: EntParams & {
    tag: EntryTag.TreesPoi;
}): Encoded.Poi;
/**
 * Pack entry
 * @category entry builder
 * @param params - Params of entry
 * @returns Encoded entry
 */
export declare function packEntry(params: EntParams): Encoded.Any;
export declare function unpackEntry(encoded: Encoded.CallStateTree): EntUnpacked & {
    tag: EntryTag.CallsMtree;
};
export declare function unpackEntry(encoded: Encoded.StateTrees): EntUnpacked & {
    tag: EntryTag.StateTrees;
};
export declare function unpackEntry(encoded: Encoded.Poi): EntUnpacked & {
    tag: EntryTag.TreesPoi;
};
/**
 * Unpack entry
 * @category entry builder
 * @param encoded - Encoded entry
 * @param expectedTag - Expected entry type
 * @returns Params of entry
 */
export declare function unpackEntry<T extends EntryTag>(encoded: Encoded.Any, expectedTag?: T): EntUnpacked & {
    tag: T;
};
