export interface Base64EncoderOptions {
    /**
     * Whether this encoder is set to encode data as URL-friendly Base64.
     *
     * URL-friendly here means that `+` maps to `-`, `/` maps to `_`, and
     * the padding characters `=` are is omitted,
     * while the rest of the alphabet is shared.
     */
    url?: boolean;
    /** @deprecated Use `url` instead. */
    urlFriendly?: boolean;
}
/**
 * Base64 encoder class to encode binary data in Base64 strings,
 * similar to `TextEncoder`.
 */
export declare class Base64Encoder {
    #private;
    /**
     * Whether this encoder is set to encode data as URL-friendly Base64.
     */
    get url(): boolean;
    /**
     * @deprecated Use `url` instead.
     */
    get urlFriendly(): boolean;
    /**
     * Creates a new encoder object with underlying WebAssembly instance.
     *
     * Note that the WASM instance might grow its internal memory to fit large
     * array buffers.
     */
    constructor(options?: Base64EncoderOptions);
    /**
     * Optimize this encoder to use the faster WASM implementation.
     * @returns This encoder after WASM initialization has completed.
     */
    optimize(): Promise<this>;
    /**
     * Encodes an array buffer into a Base64 string.
     *
     * @param input Binary data to be Base64 encoded
     * @returns The provided array buffer encoded as a Base64 string
     */
    encode(input: BufferSource): string;
}
/**
 * Base64 Decoder class to convert Base64 strings into array buffers,
 * similar to `TextDecoder`.
 */
export declare class Base64Decoder {
    #private;
    /**
     * Optimize this decoder to use the faster WASM implementation.
     * @returns This decoder after WASM initialization has completed.
     */
    optimize(): Promise<this>;
    /**
     * Decodes a Base64 string and returns a new array buffer.
     *
     * @param input A Base64 string. Can be either URL friendly or not and
     *   padding may be omitted.
     * @returns The binary data as an array buffer.
     */
    decode(input: string): Uint8Array;
}
