import { Effect, Schema } from "effect";
declare const HexError_base: new = {}>(args: import("effect/Types").Equals extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
readonly _tag: "HexError";
} & Readonly;
export declare class HexError extends HexError_base<{
message?: string;
cause?: unknown;
}> {
}
export declare const isHex: (input: string) => boolean;
export declare const HexStringFilter: Schema.refine;
export declare const HexString: Schema.SchemaClass, string & import("effect/Brand").Brand<"HexString">, never>;
export type HexString = typeof HexString.Type;
export declare const fromBytes: (bytes: Uint8Array) => T;
/**
* Converts a branded Hex string to a Uint8Array.
*
* @example
* import { makeOrThrow, toBytes } from "@lucid-evolution/experimental/Hex";
* const hex = makeOrThrow("deadbeef");
* const bytes = toBytes(hex); // Uint8Array [222, 173, 190, 239]
*
* @since 1.0.0
* @category encoding/decoding
*/
export declare const toBytes: (hex: HexString) => Uint8Array;
export declare const decode: (maybeHex: string) => Effect.Effect, HexError, never>;
export declare const decodeOrThrow: (rawHex: string) => string & import("effect/Brand").Brand<"HexString">;
export {};
//# sourceMappingURL=Hex.d.ts.map