import { PluginSetting } from "./index";
/**
 * PluginSettingsSpec - class for constructing plugin settings system.
 * @class
 * @author Danil Andreev
 */
export default class PluginSettingsSpec extends Array<PluginSetting> {
    /**
     * Creates an instance of PluginSettingsSpec
     * @param settings - Input object structure to process.
     * @constructor
     * @author Danil Andreev
     */
    constructor(settings: any);
    /**
     * buildSetting - method, designed to build and validate plugin settings structure.
     * @param setting
     * @method
     * @author Danil Andreev
     */
    protected buildSetting(setting: any): PluginSetting;
    map<U>(callback: (value: PluginSetting, index: number, array: PluginSetting[]) => U, thisArg?: any): U[];
    filter(predicate: (value: PluginSetting, index: number, array: PluginSetting[]) => unknown, thisArg?: any): PluginSetting[];
    slice(start?: number, end?: number): PluginSetting[];
    concat(...items: any[]): PluginSettingsSpec;
    copyWithin(target: number, start: number, end?: number): this;
    fill(value: PluginSetting, start?: number, end?: number): this;
    push(...items: any[]): number;
    splice(start: number, deleteCount?: number): PluginSetting[];
    unshift(...items: any[]): number;
}
