import { AxiosResponse } from 'axios';
import { Config } from './config';
import Request from './request';
export interface Subscription {
    owner: string;
    name: string;
    createdTime: string;
    displayName: string;
    startDate?: Date;
    endDate?: Date;
    duration?: number;
    description: string;
    user?: string;
    plan?: string;
    isEnabled?: boolean;
    submitter?: string;
    approver?: string;
    approveTime?: string;
    state?: string;
}
export declare class SubscriptionSDK {
    private config;
    private readonly request;
    constructor(config: Config, request: Request);
    getSubscriptions(): Promise<AxiosResponse<{
        data: Subscription[];
    }, any>>;
    getSubscription(id: string): Promise<AxiosResponse<{
        data: Subscription;
    }, any>>;
    modifySubscription(method: string, subscription: Subscription): Promise<AxiosResponse<Record<string, unknown>, any>>;
    addSubscription(subscription: Subscription): Promise<AxiosResponse<Record<string, unknown>, any>>;
    updateSubscription(subscription: Subscription): Promise<AxiosResponse<Record<string, unknown>, any>>;
    deleteSubscription(subscription: Subscription): Promise<AxiosResponse<Record<string, unknown>, any>>;
}
