import { ElementProperty } from "../elements/SDKElementProperty";
import { ElementPropertyValue } from "../elements/values/SDKElementPropertyValue";
export type ComponentRemoteModel = {
    id: string;
    persistentId: string;
    brandId: string;
    meta: {
        name: string;
        description: string;
    };
    createdAt?: string;
    updatedAt?: string;
    groupPersistentId?: string;
};
export type ComponentUpdateRemoteModel = Omit<ComponentRemoteModel, "brandId">;
export declare class Component {
    idInVersion: string;
    id: string;
    designSystemVersionId: string;
    brandId: string;
    name: string;
    description: string;
    properties: Array<ElementProperty>;
    propertyValues: Record<string, string | boolean | number>;
    createdAt: Date | null;
    updatedAt: Date | null;
    constructor(model: ComponentRemoteModel, properties: Array<ElementProperty>, propertyValues: Array<ElementPropertyValue>);
    toWriteObject(): ComponentRemoteModel;
    toWriteUpdateObject(): ComponentUpdateRemoteModel;
}
