import { PortalRecord } from './portalRecord.js';
import { type RecordFieldsMap } from '../layouts/recordFieldsMap.js';
import { type PortalBase } from './portalBase.js';
import { type LayoutRecord } from './layoutRecord.js';
/**
 * Represents a portal.
 *
 * @template T - The type of RecordFieldsMap.
 * @class
 * @implements {PortalBase<T>}
 */
export declare class Portal<T extends RecordFieldsMap> implements PortalBase<T> {
    readonly record: LayoutRecord<any>;
    readonly name: string;
    records: Array<PortalRecord<T>>;
    constructor(record: LayoutRecord<any>, name: string);
    /**
     * Add a new record to the portal
     * @function create
     * @async
     * @summary Creates a new record.
     * @returns {Promise<PortalRecord<T>>} A Promise that resolves to the newly created record.
     */
    create(): Promise<PortalRecord<T>>;
}
