import { ResourceBase } from "../../resource";
import { Value, List, MapOf } from "../../data-types";
export declare class Subscriber {
    SubscriptionType: Value<string>;
    Address: Value<string>;
    constructor(properties: Subscriber);
}
export declare class NotificationWithSubscribers {
    Subscribers: List<Subscriber>;
    Notification: Notification;
    constructor(properties: NotificationWithSubscribers);
}
export declare class Notification {
    ComparisonOperator: Value<string>;
    NotificationType: Value<string>;
    Threshold: Value<number>;
    ThresholdType?: Value<string>;
    constructor(properties: Notification);
}
export declare class TimePeriod {
    Start?: Value<string>;
    End?: Value<string>;
    constructor(properties: TimePeriod);
}
export declare class Spend {
    Amount: Value<number>;
    Unit: Value<string>;
    constructor(properties: Spend);
}
export declare class BudgetData {
    BudgetLimit?: Spend;
    TimePeriod?: TimePeriod;
    TimeUnit: Value<string>;
    PlannedBudgetLimits?: MapOf<any>;
    CostFilters?: MapOf<any>;
    BudgetName?: Value<string>;
    CostTypes?: CostTypes;
    BudgetType: Value<string>;
    constructor(properties: BudgetData);
}
export declare class CostTypes {
    IncludeRefund?: Value<boolean>;
    IncludeCredit?: Value<boolean>;
    IncludeTax?: Value<boolean>;
    IncludeOtherSubscription?: Value<boolean>;
    IncludeSubscription?: Value<boolean>;
    IncludeUpfront?: Value<boolean>;
    IncludeSupport?: Value<boolean>;
    UseBlended?: Value<boolean>;
    IncludeDiscount?: Value<boolean>;
    UseAmortized?: Value<boolean>;
    IncludeRecurring?: Value<boolean>;
    constructor(properties: CostTypes);
}
export interface BudgetProperties {
    NotificationsWithSubscribers?: List<NotificationWithSubscribers>;
    Budget: BudgetData;
}
export default class Inner_Budget extends ResourceBase<BudgetProperties> {
    static Subscriber: typeof Subscriber;
    static NotificationWithSubscribers: typeof NotificationWithSubscribers;
    static Notification: typeof Notification;
    static TimePeriod: typeof TimePeriod;
    static Spend: typeof Spend;
    static BudgetData: typeof BudgetData;
    static CostTypes: typeof CostTypes;
    constructor(properties: BudgetProperties);
}
