import { D as Ddu64Core, a as DduSecureConstructorOptions, b as DduOptions, c as DduEncodeStats } from './core-ihIEWmI5.js';
export { C as CharSetConfig, d as CharSetInfo, e as CharsetBuilder, f as Ddu64AdapterError, g as Ddu64CharsetError, h as Ddu64ChecksumError, i as Ddu64CompressionError, j as Ddu64DecodeError, k as Ddu64DecompressionError, l as Ddu64DecryptionError, m as Ddu64EncodeError, n as Ddu64EncryptionError, o as Ddu64Error, p as Ddu64ErrorCode, q as Ddu64ErrorOptions, r as Ddu64InvalidInputError, s as Ddu64LimitError, t as Ddu64ObfuscationError, u as Ddu64Operation, v as Ddu64StreamError, w as DduBaseConstructorOptions, x as DduBaseOptions, y as DduProgressInfo, z as DduSetSymbol, A as DduSetSymbolInput, E as EncodingProfile, O as ObfuscationLayer, B as isDdu64Error } from './core-ihIEWmI5.js';
export { H as HangulObfuscationLayer, c as createEncoderObfuscationLayer, d as detectRuntime } from './ObfuscationLayer-CotTuQ5X.js';

/**
 * Node.js 전용 기본 Ddu64 래퍼.
 *
 * Ddu64Core를 확장하여 인코딩 + 한글 난독화(라이브러리 주목적: 재미 + 시각적 난독화)와
 * Node.js Buffer 디코드를 제공합니다:
 * - HangulObfuscationLayer 자동 주입 → 키 없는 한글 난독화 사용 가능
 * - Node.js Buffer를 반환하는 `decodeToBuffer` 및 `decodeToBufferAsync` 제공
 * - encode()에 Buffer 입력 허용 (Buffer는 Uint8Array를 확장)
 *
 * 기본 경로는 어댑터(zlib/crypto)를 주입하지 않습니다. 압축/암호화가 명시된 비동기 호출만
 * secure 래퍼를 동적 import하여 NodeAdapter를 지연 주입합니다. 동기 secure 작업이 필요하면
 * secure 진입점(`@ddunigma/node/secure`)의 `Ddu64Secure`를 사용하세요.
 *
 * @module Ddu64Node
 */

/**
 * Node.js 전용 기본 Ddu64 인코더/디코더.
 *
 * Ddu64Core를 래핑하여 한글 난독화 레이어를 자동 주입하고,
 * 하위 호환성을 위한 Buffer 반환 디코드 메서드를 제공합니다.
 *
 * @example
 * ```ts
 * import { Ddu64 } from '@ddunigma/node';
 *
 * const encoder = new Ddu64();
 * const encoded = encoder.encode(Buffer.from('Hello'), { obfuscate: true });
 * const decoded = encoder.decodeToBuffer(encoded); // Buffer 반환
 * ```
 */
declare class Ddu64Node extends Ddu64Core {
    #private;
    constructor(dduChar?: string[] | string | DduSecureConstructorOptions, paddingChar?: string, dduOptions?: DduSecureConstructorOptions);
    /** @group Sync */
    encode(input: Uint8Array | string, options?: DduOptions): string;
    /**
     * @group Sync
     * `decode`/`decodeToBuffer`는 코어에서 `this.decodeToUint8Array`를 경유하므로 이 가드 하나가
     * sync 디코드 3종을 모두 덮습니다(중복 override 불필요).
     */
    decodeToUint8Array(input: string, options?: DduOptions): Uint8Array;
    /** @group Async */
    encodeAsync(input: Uint8Array | string, options?: DduOptions): Promise<string>;
    /** @group Async */
    decodeToUint8ArrayAsync(input: string, options?: DduOptions): Promise<Uint8Array>;
    /** @group Introspection */
    getStats(input: Uint8Array | string, options?: DduOptions): DduEncodeStats;
    /** @group Introspection */
    getStatsAsync(input: Uint8Array | string, options?: DduOptions): Promise<DduEncodeStats>;
    /**
     * 인코딩된 문자열을 Node.js Buffer로 디코딩합니다.
     *
     * @param input - 디코딩할 인코딩된 문자열
     * @param options - 디코딩 옵션
     * @returns 디코딩된 Buffer
     * @group Sync
     */
    decodeToBuffer(input: string, options?: DduOptions): Buffer;
    /**
     * 비동기적으로 Node.js Buffer로 디코딩합니다.
     *
     * @param input - 디코딩할 인코딩된 문자열
     * @param options - 디코딩 옵션
     * @returns 디코딩된 Buffer로 resolve되는 Promise
     * @group Async
     */
    decodeToBufferAsync(input: string, options?: DduOptions): Promise<Buffer>;
}

export { Ddu64Node as Ddu64, Ddu64Core, Ddu64Node, DduEncodeStats };
