/**
 * SlugName — TypeScript counterpart to the `sysio::slug_name` (contract) /
 * `fc::slug_name` (host) packed 8-byte type used as the primary key for
 * Chain / Token / ChainToken / Reserve identifiers in the post-v6 data model.
 *
 * Wire format: uint64. JS-safe — six bits per character, max eight characters,
 * giving 48 bits worth of slot occupancy. That sits comfortably under
 * `Number.MAX_SAFE_INTEGER` (2^53), so JS `number` is the natural carrier
 * here; no `bigint` required at the API boundary.
 *
 * Alphabet: `[A-Z0-9_]+` — slot 0 is the implicit terminator, slots 1..26 hold
 * `A..Z`, slots 27..36 hold `0..9`, slot 37 holds `_`. Characters outside the
 * alphabet are a parse error. Inputs longer than 8 chars are a parse error.
 *
 * Mirrors the encoding in `wire-sysio/contracts/sysio.opp.common/include/sysio.opp.common/slug_name.hpp`.
 */
export declare class SlugName {
    /**
     * Parse a slug_name string to its packed `uint64` (JS `number`) value.
     *
     * Encoding uses arithmetic (`+` / `*`) rather than bitwise ops because
     * JS `<<` / `|` truncate to 32-bit signed integers. An 8-character
     * slug_name occupies 48 bits, well above the 32-bit boundary but safely
     * under `Number.MAX_SAFE_INTEGER` (53 bits) — arithmetic stays exact.
     *
     * @param s   uppercase letters, digits, and underscore; ≤8 chars
     * @throws   on empty input, length > 8, or any out-of-alphabet character
     */
    static from(s: string): number;
    /**
     * Unpack a slug_name `uint64` (JS `number`) back to its string form.
     * Reads up to 8 6-bit slots; stops on slot 0 (terminator) or invalid slot.
     *
     * Like {@link from}, this uses arithmetic instead of bitwise operations
     * so multi-character codes whose value exceeds 2^31 round-trip cleanly.
     *
     * @param n   packed slug_name value
     */
    static toString(n: number): string;
}
//# sourceMappingURL=SlugName.d.ts.map