import { IModule, Listener, Events, LogLevels, LogMessage } from '@elliemae/pui-scripting-object';
import { ScriptingObject, Event } from '@elliemae/microfe-common';
export type AppraisalServiceEvents = {
    'appraisalservice.onprecommit': Listener<AppraisalService, {
        loanId: string;
    }, Record<string, unknown>, boolean>;
    'appraisalservice.onsaved': Listener<AppraisalService, {
        loanId: string;
    }, Record<string, unknown>, void>;
};
export declare class AppraisalService extends ScriptingObject implements IModule {
    #private;
    Close: Event<Events>;
    Unloading: Event<Events>;
    onPreCommit: Event<AppraisalServiceEvents>;
    onSaved: Event<AppraisalServiceEvents>;
    constructor({ loanId, creditScore, }: {
        loanId: string;
        creditScore: number;
    });
    getCapabilities: () => Promise<{
        isAdmin: boolean;
        los: string;
    }>;
    getParameters: () => Promise<{
        moduleId: string;
        loanId: string;
        creditScore: number;
    }>;
    setCreditScore: (creditScore: number) => Promise<void>;
    saveLoan: () => Promise<void>;
    commit: () => Promise<unknown>;
    delete: () => never;
    log: (message: string | LogMessage, level: keyof typeof LogLevels) => Promise<void>;
    unload: () => Promise<void>;
}
