import typia from 'typia';
import type { tags } from 'typia';
import { type NxtError } from './error.ts';
export interface Block {
    id: string & tags.Pattern<"^[0-9A-Za-z~][0-9A-Za-z~._: -]*$">;
    file: string & tags.Pattern<"^[0-9A-Za-z~][0-9A-Za-z~._: -]*$">;
    location: string & tags.Pattern<"^[0-9A-Za-z~][0-9A-Za-z~._: -]*$">;
    offset: number & tags.Minimum<0> & tags.Type<"uint64">;
    size: (number & tags.Minimum<0> & tags.Type<"uint64">) | null;
    hash: (string & tags.Pattern<"^([A-Fa-f0-9]{32})?$">) | null;
    btime: (number & tags.Minimum<0> & tags.Type<"uint64">) | null;
    path: string | null;
    error: NxtError[] | NxtError | null;
}
export type Blocks = Block[];
export declare const assertBlock: (input: unknown) => Block;
export declare const isBlock: (input: unknown) => input is Block;
export declare const randomBlock: () => Block;
export declare const stringifyBlock: (input: Block) => string;
export declare const stringifyBlocks: (input: Blocks) => string;
export declare const assertGuardBlock: (input: unknown) => typia.AssertionGuard<Block>;
