import { Application, ApplicationMerchantConfigurations } from '@bringg/types';
import Entity from '../../Core/Entity';
import Session from '../../Services/Identity/Session';
export type TestSamlResponse = {
    success: boolean;
    code: number;
};
export default class ApplicationMerchantConfigurationEntity extends Entity<ApplicationMerchantConfigurations> {
    constructor(session: Session);
    addApplicationById(appId: number): Promise<Application>;
    addApplicationByUuid(appUuid: Bringg.ApplicationUuid): Promise<Application>;
    removeApplicationById(appId: number): Promise<boolean>;
    removeApplicationByUuid(appUuid: Bringg.ApplicationUuid): Promise<boolean>;
    /**
     * Updates the config of the application for the current merchant by either the app's id (number) or uuid (guid string).
     * @param appId The id or uuid of the application to update.
     * @param data The config data.
     */
    updateConfig(appId: string | number, data: object): Promise<boolean>;
    getByAppId(id: number): Promise<ApplicationMerchantConfigurations>;
    getByAppUuid(uuid: string): Promise<ApplicationMerchantConfigurations>;
    private getAppConfigFromMerchantConfigurationByAppId;
    private getAppConfigFromMerchantConfigurationByUuid;
    getApplicationByUuid(uuid: Bringg.ApplicationUuid | string): Promise<Bringg.Application>;
    testSamlUrl(url: string): Promise<TestSamlResponse>;
}
