import { EncodableBitStringFields } from "../field/EncodableBitStringFields.js"; import { AbstractLazilyEncodableSegment } from "./AbstractLazilyEncodableSegment.js"; export declare class TcfCaV1CoreSegment extends AbstractLazilyEncodableSegment { private base64UrlEncoder; private bitStringEncoder; constructor(encodedString?: string); getFieldNames(): string[]; protected initializeFields(): EncodableBitStringFields; /** * Builds the core field set. When legacy is true the OptimizedRange / N-ArrayOfRanges fields use * the pre-fix fixed-integer encoders; otherwise they use the spec-compliant Fibonacci encoders. * The legacy field set is only used to decode strings produced by the older encoder (see * decodeSegment). */ private buildFields; protected encodeSegment(fields: EncodableBitStringFields): string; protected decodeSegment(encodedString: string, fields: EncodableBitStringFields): void; /** * Attempts to decode bitString using either the current or legacy field set and verifies the * result by re-encoding it: if the re-encoded bits are a prefix of the decoded bits (the tail * being base64 padding), the interpretation produced the string. On success the decoded values * are copied into targetFields (which always use the current encoders) so that any subsequent * re-encode emits the spec-compliant format. */ private tryDecode; }