import { ListResult } from '../list_result';
import { RequestWrapper } from "../request_wrapper";
import { Model } from "./model";
import { filter } from "../filter";
export declare class PriceVariant extends Model {
    id: string;
    name: string;
    external_name?: string;
    variant_group?: string;
    description?: string;
    status?: string;
    created_at: number;
    resource_version?: number;
    updated_at?: number;
    archived_at?: number;
    attributes?: Array<Attribute>;
    business_entity_id?: string;
    deleted: boolean;
    static create(params?: _price_variant.create_params): RequestWrapper;
    static retrieve(price_variant_id: string, params?: any): RequestWrapper;
    static update(price_variant_id: string, params?: _price_variant.update_params): RequestWrapper;
    static delete(price_variant_id: string, params?: any): RequestWrapper;
    static list(params?: _price_variant.price_variant_list_params): RequestWrapper<ListResult>;
}
export declare class Attribute extends Model {
    name: string;
    value: string;
}
export declare namespace _price_variant {
    interface create_params {
        id: string;
        name: string;
        external_name?: string;
        description?: string;
        variant_group?: string;
        business_entity_id?: string;
        attributes?: Array<attributes_create_params>;
    }
    interface update_params {
        name?: string;
        external_name?: string;
        description?: string;
        variant_group?: string;
        status?: string;
        attributes?: Array<attributes_update_params>;
    }
    interface price_variant_list_params {
        limit?: number;
        offset?: string;
        id?: filter._string;
        name?: filter._string;
        status?: filter._enum;
        updated_at?: filter._timestamp;
        created_at?: filter._timestamp;
        business_entity_id?: filter._string;
        include_site_level_resources?: filter._boolean;
        "sort_by[asc]"?: string;
        "sort_by[desc]"?: string;
    }
    interface attributes_create_params {
        name: string;
    }
    interface attributes_create_params {
        value: string;
    }
    interface attributes_update_params {
        name: string;
    }
    interface attributes_update_params {
        value: string;
    }
}
