import { ItemType, LabItem } from "../lab-item";
import { APILabPanel, StoreLabPanel } from "./interfaces";
export declare class LabPanel extends LabItem {
    /**
     * Ids of the tests included in this panel
     */
    labTests: string[];
    constructor(supplier: string, supplier_item_number: string, description: string, name: string, price: number, preparations: string, sample_report: string, text: string, collection_methods: string[], categories: string[], item_type: ItemType, labTests: string[], video: string);
    /**
     * The name of the LabPanel resource on the API server.
     */
    static get resourceName(): string;
    /**
     * Convert the LabPanel into a JSON serializable object for the API server.
     */
    serializeAPI(): APILabPanel;
    /**
     * Deserialize the data from the API server.
     *
     * @param data The LabPanel data from the API server.
     */
    deserializeAPI(data: APILabPanel): void;
    /**
     * Serialize the LabPanel into a format for storing in the Redux store.
     */
    serializeRedux(): StoreLabPanel;
    /**
     * Create a lab test from the API server data.
     *
     * @param data Data from the api server.
     *
     * @returns The LabPanel object.
     */
    static apiFactory(data: APILabPanel): LabPanel;
    /**
     * Create a lab panel from the Redux store data.
     *
     * @param data Data from the api server.
     *
     * @returns The LabPanel object.
     */
    static reduxFactory(data: StoreLabPanel): LabPanel;
}
