import { type Frame, type FrameSize, type ReadResult } from "./frame.ts";
export interface MatterInit {
    code: string;
    raw: Uint8Array;
    soft?: number;
}
export declare class Matter implements Frame, MatterInit {
    readonly code: string;
    readonly soft?: number;
    readonly raw: Uint8Array;
    constructor(init: MatterInit);
    get quadlets(): number;
    get size(): FrameSize;
    text(): string;
    binary(): Uint8Array;
    static readonly Code: {
        Ed25519_Seed: string;
        Ed25519N: string;
        X25519: string;
        Ed25519: string;
        Blake3_256: string;
        Blake2b_256: string;
        Blake2s_256: string;
        SHA3_256: string;
        SHA2_256: string;
        ECDSA_256k1_Seed: string;
        Ed448_Seed: string;
        X448: string;
        Short: string;
        Big: string;
        X25519_Private: string;
        X25519_Cipher_Seed: string;
        ECDSA_256r1_Seed: string;
        Tall: string;
        Large: string;
        Great: string;
        Vast: string;
        Label1: string;
        Label2: string;
        Tag3: string;
        Tag7: string;
        Tag11: string;
        Salt_256: string;
        Salt_128: string;
        Ed25519_Sig: string;
        ECDSA_256k1_Sig: string;
        Blake3_512: string;
        Blake2b_512: string;
        SHA3_512: string;
        SHA2_512: string;
        Long: string;
        ECDSA_256r1_Sig: string;
        Tag1: string;
        Tag2: string;
        Tag5: string;
        Tag6: string;
        Tag9: string;
        Tag10: string;
        GramHeadNeck: string;
        GramHead: string;
        GramHeadAIDNeck: string;
        GramHeadAID: string;
        ECDSA_256k1N: string;
        ECDSA_256k1: string;
        Ed448N: string;
        Ed448: string;
        Ed448_Sig: string;
        Tag4: string;
        DateTime: string;
        X25519_Cipher_Salt: string;
        ECDSA_256r1N: string;
        ECDSA_256r1: string;
        Null: string;
        No: string;
        Yes: string;
        Tag8: string;
        Escape: string;
        Empty: string;
        StrB64_L0: string;
        StrB64_L1: string;
        StrB64_L2: string;
        StrB64_Big_L0: string;
        StrB64_Big_L1: string;
        StrB64_Big_L2: string;
        Bytes_L0: string;
        Bytes_L1: string;
        Bytes_L2: string;
        Bytes_Big_L0: string;
        Bytes_Big_L1: string;
        Bytes_Big_L2: string;
        X25519_Cipher_L0: string;
        X25519_Cipher_L1: string;
        X25519_Cipher_L2: string;
        X25519_Cipher_Big_L0: string;
        X25519_Cipher_Big_L1: string;
        X25519_Cipher_Big_L2: string;
        X25519_Cipher_QB64_L0: string;
        X25519_Cipher_QB64_L1: string;
        X25519_Cipher_QB64_L2: string;
        X25519_Cipher_QB64_Big_L0: string;
        X25519_Cipher_QB64_Big_L1: string;
        X25519_Cipher_QB64_Big_L2: string;
        X25519_Cipher_QB2_L0: string;
        X25519_Cipher_QB2_L1: string;
        X25519_Cipher_QB2_L2: string;
        X25519_Cipher_QB2_Big_L0: string;
        X25519_Cipher_QB2_Big_L1: string;
        X25519_Cipher_QB2_Big_L2: string;
        HPKEBase_Cipher_L0: string;
        HPKEBase_Cipher_L1: string;
        HPKEBase_Cipher_L2: string;
        HPKEBase_Cipher_Big_L0: string;
        HPKEBase_Cipher_Big_L1: string;
        HPKEBase_Cipher_Big_L2: string;
        Decimal_L0: string;
        Decimal_L1: string;
        Decimal_L2: string;
        Decimal_Big_L0: string;
        Decimal_Big_L1: string;
        Decimal_Big_L2: string;
    };
    static from(code: string, raw: Uint8Array): Matter;
    static peek(input: Uint8Array): ReadResult<Matter>;
    static parse(input: string | Uint8Array): Matter;
    /**
     * Convert to Matter primitive types
     */
    get as(): {
        string: () => string;
        date: () => Date;
        hex: () => string;
    };
    /**
     * Predefined Matter creators for common crypto types
     */
    static readonly crypto: {
        ed25519_seed: (raw: Uint8Array) => Matter;
        ed25519: (raw: Uint8Array) => Matter;
        ed25519N: (raw: Uint8Array) => Matter;
        ed25519_sig: (raw: Uint8Array) => Matter;
        x25519: (raw: Uint8Array) => Matter;
        blake3_256: (raw: Uint8Array) => Matter;
        blake2b_256: (raw: Uint8Array) => Matter;
        blake2s_256: (raw: Uint8Array) => Matter;
        sha3_256: (raw: Uint8Array) => Matter;
        sha2_256: (raw: Uint8Array) => Matter;
        ecdsa_256k1Seed: (raw: Uint8Array) => Matter;
        ed448_seed: (raw: Uint8Array) => Matter;
        x448: (raw: Uint8Array) => Matter;
        x25519_private: (raw: Uint8Array) => Matter;
        x25519_cipher_Seed: (raw: Uint8Array) => Matter;
    };
    /**
     * Predefined Matter creators for common value types
     */
    static readonly primitive: {
        tag(input: string): Matter;
        decimal(input: number): Matter;
        hex(input: string): Matter;
        string(input: string): Matter;
        date(date: Date): Matter;
    };
}
