import { Application } from '../Application';
import { SchemaSettings } from './SchemaSettings';
import { SchemaSettingsItemTypeWithoutName } from './types';
interface ActionType {
    type: 'add' | 'remove';
    itemName: string;
    data?: any;
}
export declare class SchemaSettingsManager {
    protected _schemaSettings: SchemaSettings<any>[];
    protected app: Application;
    protected schemaSettings: Record<string, SchemaSettings<any>>;
    protected actionList: Record<string, ActionType[]>;
    constructor(_schemaSettings: SchemaSettings<any>[], app: Application);
    add<T = any>(...schemaSettingList: SchemaSettings<T>[]): void;
    addItem(schemaSettingName: string, itemName: string, data: SchemaSettingsItemTypeWithoutName): void;
    get<T>(name: string): SchemaSettings<T> | undefined;
    getAll(): Record<string, SchemaSettings<any>>;
    has(name: string): boolean;
    remove(name: string): void;
    removeItem(schemaSettingName: string, itemName: string): void;
}
export {};
