import { ReadStatError } from "../errors.js"; import { IoContext } from "../io.js"; import type { Writer } from "../writer.js"; export declare const SAS_ENDIAN_BIG = 0; export declare const SAS_ENDIAN_LITTLE = 1; export declare const SAS_ALIGNMENT_OFFSET_0 = 34; export declare const SAS_ALIGNMENT_OFFSET_4 = 51; export declare const SAS_FILE_FORMAT_UNIX = 49; export declare const SAS_DEFAULT_FILE_VERSION = 9; export declare const SAS_COLUMN_TYPE_NUM = 1; export declare const SAS_COLUMN_TYPE_CHR = 2; export declare const SAS_PAGE_HEADER_SIZE_32BIT = 24; export declare const SAS_PAGE_HEADER_SIZE_64BIT = 40; export declare const SAS_SUBHEADER_POINTER_SIZE_32BIT = 12; export declare const SAS_SUBHEADER_POINTER_SIZE_64BIT = 24; export declare const SAS_COMPRESSION_NONE = 0; export declare const SAS_COMPRESSION_TRUNC = 1; export declare const SAS_COMPRESSION_ROW = 4; export declare const SAS_COMPRESSION_SIGNATURE_RLE = "SASYZCRL"; export declare const SAS_COMPRESSION_SIGNATURE_RDC = "SASYZCR2"; export declare const SAS_PAGE_TYPE_META = 0; export declare const SAS_PAGE_TYPE_DATA = 256; export declare const SAS_PAGE_TYPE_MIX = 512; export declare const SAS_PAGE_TYPE_AMD = 1024; export declare const SAS_PAGE_TYPE_MASK = 3840; export declare const SAS_PAGE_TYPE_COMP = 36864; export declare const READSTAT_VENDOR_STAT_TRANSFER = 0; export declare const READSTAT_VENDOR_SAS = 1; export declare const SAS_DEFAULT_STRING_ENCODING = "WINDOWS-1252"; export declare const SAS7BDAT_MAGIC: Uint8Array; export declare const SAS7BCAT_MAGIC: Uint8Array; export declare const SAS_CHARSET_TABLE: Record; export interface SasHeaderInfo { littleEndian: boolean; u64: boolean; vendor: number; majorVersion: number; minorVersion: number; revision: number; pad1: number; pageSize: number; pageHeaderSize: number; subheaderPointerSize: number; pageCount: number; headerSize: number; creationTime: number; modificationTime: number; tableName: Uint8Array; encoding: string; } export declare function sasRead2(b: Uint8Array, off: number, le: boolean): number; export declare function sasRead4(b: Uint8Array, off: number, le: boolean): number; export declare function sasRead8(b: Uint8Array, off: number, le: boolean): bigint; /** Returns 0 (bdat), 1 (bcat), or -1 (neither) for the leading magic. */ export declare function sasMagicKind(magic: Uint8Array): number; export declare function sasReadHeader(io: IoContext, errorHandler?: (m: string) => void): SasHeaderInfo; export declare function sasSubheaderRemainder(len: number, signatureLen: number): number; export declare function sasHeaderInfoInit(writer: Writer, is64bit: boolean): SasHeaderInfo; /** Build the 164-byte header_start block. */ export declare function sasBuildHeaderStart(magic: Uint8Array, u64: boolean, encoding: number): Uint8Array; export declare function sasWriteHeader(writer: Writer, hinfo: SasHeaderInfo, headerStart: Uint8Array): ReadStatError; export declare function sasFillPage(writer: Writer, hinfo: SasHeaderInfo): ReadStatError;