/**
 * Base model used to build all data structures made from API
 * @author Mathrix Front-End Team
 * @since 3.1.0
 */
import { IBaseModel } from './_interfaces/base.model.interface';
export declare class BaseModel implements IBaseModel {
    readonly id: number;
    /**
     * The fillable attributes; has to be set in child model
     * Use ['*'] for allowing all fields; fillable will always be forbidden
     */
    protected fillable: string[];
    /**
     * Cast some fields in the constructor
     */
    protected readonly casts: {};
    /**
     * The aliases to use while querying the cache
     */
    protected readonly aliases: string[];
    static empty(): void;
    /**
     * Instantiate a new model from json data
     */
    constructor(json?: {});
    /**
     * Unserialize a json to fill the model with it
     */
    unserialize(json: any): void;
    /**
     * Serialize Model to API-compatible structure
     */
    serialize(serializer?: string): any;
}
