import { ParseKeys, TOptions } from 'i18next';
import type { Application } from './Application';
export declare class Plugin<T = any> {
    protected options: T;
    protected app: Application;
    constructor(options: T, app: Application);
    get pluginManager(): import("./PluginManager").PluginManager;
    get pm(): import("./PluginManager").PluginManager;
    get router(): import("./RouterManager").RouterManager;
    get systemSettingsManager(): import("./SystemSettingsManager").SystemSettingsManager;
    get userSettingsManager(): import("./UserSettingsManager").UserSettingsManager;
    get schemaInitializerManager(): import("./schema-initializer").SchemaInitializerManager;
    get schemaSettingsManager(): import("./schema-settings").SchemaSettingsManager;
    get dataSourceManager(): import("..").DataSourceManager;
    get AttachmentPreviewManager(): import("./AttachmentPreviewManager").AttachmentPreviewManager;
    afterAdd(): Promise<void>;
    beforeLoad(): Promise<void>;
    load(): Promise<void>;
    afterLoad(): Promise<void>;
    t(text: ParseKeys | ParseKeys[], options?: TOptions): string;
}
