/**
 * @license
 * Copyright 2020 Google LLC
 * SPDX-License-Identifier: Apache-2.0
 */
import { PbKeysetKey } from './proto';
/**
 * Constants and methods that deal with the format of the outputs handled by
 * Tink.
 *
 * @static
 * @final
 */
export declare class CryptoFormat {
    /**
     * Generates the prefix for the outputs handled by the given 'key'.
     * Throws an exception if the prefix type of 'key' is invalid.
     *
     *
     */
    static getOutputPrefix(key: PbKeysetKey): Uint8Array;
    /**
     * Makes output prefix which consits of 4 bytes of key id in Big Endian
     * representation followed by 1 byte of key type identifier.
     *
     * @static
     *
     */
    private static makeOutputPrefix;
    /**
     * Returns the given number as Uint8Array in Big Endian format.
     *
     * Given number has to be a non-negative integer smaller than 2^32.
     *
     * @static
     *
     */
    private static numberAsBigEndian;
    /**
     * Prefix size of Tink and Legacy key types.
     */
    static readonly NON_RAW_PREFIX_SIZE = 5;
    /**
     * Prefix size of Legacy key types.
     */
    static readonly LEGACY_PREFIX_SIZE = 5;
    /**
     * Legacy starts with 0 and is followed by 4-byte key id.
     */
    static readonly LEGACY_START_BYTE = 0;
    /**
     * Prefix size of Tink key types.
     */
    static readonly TINK_PREFIX_SIZE = 5;
    /**
     * Tink starts with 1 and is followed by 4-byte key id.
     */
    static readonly TINK_START_BYTE = 1;
    /**
     * Raw prefix should have length 0.
     */
    static readonly RAW_PREFIX_SIZE = 0;
    /**
     * Raw prefix is empty Uint8Array.
     */
    static readonly RAW_PREFIX: Uint8Array;
}
