/**
 * Copyright (c) 2020-present, Goldman Sachs
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import { SerializationFactory, type PlainObject } from '@finos/legend-shared';
export interface LightProvider {
    description: string;
    provider: string;
    type: string;
}
export declare enum ProductType {
    ALL = "ALL",
    VENDOR_PROFILE = "VENDOR_PROFILE",
    SERVICE_PRICING = "SERVICE_PRICING"
}
export interface FetchProductsParams {
    kerberos: string;
    product_type: ProductType;
    preferred_products: boolean;
    page_size?: number;
    search?: string;
    page_number?: number;
}
export declare enum TerminalItemType {
    TERMINAL = "Terminal",
    ADD_ON = "Add-On"
}
export declare enum RecommendationSource {
    CART = "cart",
    INVENTORY = "inventory",
    MARKETPLACE = "marketplace"
}
export declare class TerminalResult {
    id: number;
    category: string;
    providerName: string;
    productName: string;
    description: string;
    price: number;
    phystr: string;
    model: string | null;
    isMandatory?: boolean;
    skipWorkflow?: boolean;
    isOwned?: boolean;
    vendorProfileId?: number;
    source?: RecommendationSource;
    static readonly serialization: SerializationFactory<TerminalResult>;
    get terminalItemType(): TerminalItemType;
}
export interface Filter {
    label: string;
    value: string;
}
export interface TerminalServicesResponse {
    hrid: string;
    vendor_profiles?: PlainObject<TerminalResult>[];
    service_pricing?: PlainObject<TerminalResult>[];
    vendor_profiles_total_count?: number;
    service_pricing_total_count?: number;
    total_count?: number;
}
//# sourceMappingURL=Provider.d.ts.map