import { INTEGER, ASN1Element as _Element } from 'asn1-ts';
import * as $ from 'asn1-ts/dist/node/functional';
/**
 * @summary Provider_reason
 * @description
 *
 * ### ASN.1 Definition:
 *
 * ```asn1
 * Provider-reason  ::=  INTEGER {
 *   reason-not-specified(0), temporary-congestion(1), local-limit-exceeded(2),
 *   called-presentation-address-unknown(3), protocol-version-not-supported(4),
 *   default-context-not-supported(5), user-data-not-readable(6),
 *   no-PSAP-available(7)}
 * ```
 */
export declare type Provider_reason = INTEGER;
/**
 * @summary Provider_reason_reason_not_specified
 * @constant
 * @type {number}
 */
export declare const Provider_reason_reason_not_specified: Provider_reason;
/**
 * @summary Provider_reason_reason_not_specified
 * @constant
 * @type {number}
 */
export declare const reason_not_specified: Provider_reason;
/**
 * @summary Provider_reason_temporary_congestion
 * @constant
 * @type {number}
 */
export declare const Provider_reason_temporary_congestion: Provider_reason;
/**
 * @summary Provider_reason_temporary_congestion
 * @constant
 * @type {number}
 */
export declare const temporary_congestion: Provider_reason;
/**
 * @summary Provider_reason_local_limit_exceeded
 * @constant
 * @type {number}
 */
export declare const Provider_reason_local_limit_exceeded: Provider_reason;
/**
 * @summary Provider_reason_local_limit_exceeded
 * @constant
 * @type {number}
 */
export declare const local_limit_exceeded: Provider_reason;
/**
 * @summary Provider_reason_called_presentation_address_unknown
 * @constant
 * @type {number}
 */
export declare const Provider_reason_called_presentation_address_unknown: Provider_reason;
/**
 * @summary Provider_reason_called_presentation_address_unknown
 * @constant
 * @type {number}
 */
export declare const called_presentation_address_unknown: Provider_reason;
/**
 * @summary Provider_reason_protocol_version_not_supported
 * @constant
 * @type {number}
 */
export declare const Provider_reason_protocol_version_not_supported: Provider_reason;
/**
 * @summary Provider_reason_protocol_version_not_supported
 * @constant
 * @type {number}
 */
export declare const protocol_version_not_supported: Provider_reason;
/**
 * @summary Provider_reason_default_context_not_supported
 * @constant
 * @type {number}
 */
export declare const Provider_reason_default_context_not_supported: Provider_reason;
/**
 * @summary Provider_reason_default_context_not_supported
 * @constant
 * @type {number}
 */
export declare const default_context_not_supported: Provider_reason;
/**
 * @summary Provider_reason_user_data_not_readable
 * @constant
 * @type {number}
 */
export declare const Provider_reason_user_data_not_readable: Provider_reason;
/**
 * @summary Provider_reason_user_data_not_readable
 * @constant
 * @type {number}
 */
export declare const user_data_not_readable: Provider_reason;
/**
 * @summary Provider_reason_no_PSAP_available
 * @constant
 * @type {number}
 */
export declare const Provider_reason_no_PSAP_available: Provider_reason;
/**
 * @summary Provider_reason_no_PSAP_available
 * @constant
 * @type {number}
 */
export declare const no_PSAP_available: Provider_reason;
/**
 * @summary Decodes an ASN.1 element into a(n) Provider_reason
 * @function
 * @param {_Element} el The element being decoded.
 * @returns {Provider_reason} The decoded data structure.
 */
export declare function _decode_Provider_reason(el: _Element): INTEGER;
/**
 * @summary Encodes a(n) Provider_reason into an ASN.1 Element.
 * @function
 * @param {value} el The element being decoded.
 * @param elGetter A function that can be used to get new ASN.1 elements.
 * @returns {_Element} The Provider_reason, encoded as an ASN.1 Element.
 */
export declare function _encode_Provider_reason(value: Provider_reason, elGetter: $.ASN1Encoder<Provider_reason>): _Element;
