import Entity from './Entity.js';
export type TestModelData = {
    name?: string;
    null?: null;
    string?: string;
    test?: string;
    array?: any[];
    match?: string;
    number?: number;
    numberString?: string;
    timestamp?: Number;
    boolean?: boolean;
    reference?: TestModel & TestModelData;
    refArray?: (TestModel & TestModelData)[];
    refObject?: {
        [k: string]: TestModel & TestModelData;
    };
    parent?: TestModel & TestModelData;
    index?: string;
    uniques?: string[];
};
/**
 * This class is a test class that extends the Entity class.
 */
export declare class TestModel extends Entity<TestModelData> {
    static ETYPE: string;
    static class: string;
    protected $privateData: string[];
    static searchRestrictedData: string[];
    protected $allowlistData?: string[] | undefined;
    protected $protectedTags: string[];
    protected $allowlistTags?: string[] | undefined;
    constructor();
    $getUniques(): Promise<string[]>;
    $useProtectedData(): () => void;
}
/**
 * This class is a test class that extends the Entity class.
 */
export declare class TestBModel extends TestModel {
    static ETYPE: string;
    static class: string;
}
export type TestEmptyModelData = {};
/**
 * This class is a test class that extends the Entity class.
 */
export declare class TestEmptyModel extends Entity<TestEmptyModelData> {
    static ETYPE: string;
    static class: string;
}
