import { Configuration } from '../configuration/Configuration';
import { Connection } from 'typeorm';
export declare type StorageConfigurationSetup = {
    name?: string;
    storageInstance?: any;
    storageModels?: any;
    connectionConfig?: any;
};
export declare class StorageConfiguration {
    name: string;
    storageInstance: Connection;
    storageModels: any;
    connectionConfig: any;
    getParentConfiguration: () => Configuration;
    constructor(setup?: StorageConfigurationSetup);
    setStorageInstance(storageInstance: Connection): void;
    getStorageInstance(): Connection;
    setStorageModels(storageModels: any): void;
    getStorageModels(): any;
    setConnectionConfig(connectionConfig: any): void;
    getConnectionConfig(): any;
    generateGetStateIdFunction(_configuration: Configuration): string;
    generateGetStateIdsFunction(_configuration: Configuration): string;
    generateGetStateMapFunction(_configuration: Configuration): string;
    generateGetStateNameFunction(_configuration: Configuration): string;
    generateGetAttributeTranslationFunction(_configuration: Configuration): string;
    generateGetAttributeTranslationsFunction(_configuration: Configuration): string;
    generateMergeTranslationsFunction(_configuration: Configuration): string;
    createI18nIndices(_configuration: Configuration): string;
    generateI18nIndicesMigration(_configuration: Configuration, _manager: unknown): Promise<{
        upQueries: string[];
        downQueries: string[];
    }>;
}
export declare const isStorageConfiguration: (obj: unknown) => obj is StorageConfiguration;
