import type { CreationEntityState } from './CreationEntityState';
import type { SubscriptionMetricType } from './SubscriptionMetricType';
/**
 * A metric represents the usage of a resource that can be measured.
 * @export
 * @interface SubscriptionMetric
 */
export interface SubscriptionMetric {
    /**
     * The ID of the space this object belongs to.
     * @type {number}
     * @memberof SubscriptionMetric
     */
    readonly linkedSpaceId?: number;
    /**
     * The localized name of the metric that is displayed to the customer.
     * @type {{ [key: string]: string; }}
     * @memberof SubscriptionMetric
     */
    readonly name?: {
        [key: string]: string;
    };
    /**
     * The date and time when the object is planned to be permanently removed. If the value is empty, the object will not be removed.
     * @type {Date}
     * @memberof SubscriptionMetric
     */
    readonly plannedPurgeDate?: Date;
    /**
     * The localized description of the metric that is displayed to the customer.
     * @type {{ [key: string]: string; }}
     * @memberof SubscriptionMetric
     */
    readonly description?: {
        [key: string]: string;
    };
    /**
     * A unique identifier for the object.
     * @type {number}
     * @memberof SubscriptionMetric
     */
    readonly id?: number;
    /**
     *
     * @type {CreationEntityState}
     * @memberof SubscriptionMetric
     */
    state?: CreationEntityState;
    /**
     *
     * @type {SubscriptionMetricType}
     * @memberof SubscriptionMetric
     */
    type?: SubscriptionMetricType;
    /**
     * The version is used for optimistic locking and incremented whenever the object is updated.
     * @type {number}
     * @memberof SubscriptionMetric
     */
    readonly version?: number;
}
/**
 * Check if a given object implements the SubscriptionMetric interface.
 */
export declare function instanceOfSubscriptionMetric(value: object): value is SubscriptionMetric;
export declare function SubscriptionMetricFromJSON(json: any): SubscriptionMetric;
export declare function SubscriptionMetricFromJSONTyped(json: any, ignoreDiscriminator: boolean): SubscriptionMetric;
export declare function SubscriptionMetricToJSON(json: any): SubscriptionMetric;
export declare function SubscriptionMetricToJSONTyped(value?: Omit<SubscriptionMetric, 'linkedSpaceId' | 'name' | 'plannedPurgeDate' | 'description' | 'id' | 'version'> | null, ignoreDiscriminator?: boolean): any;
