import { Observable } from 'rxjs'; import { BaseMessage } from './../messaging/base-message'; import { ILoadingDefault } from './loading-default.interface'; import { ILoadingGenericFn, ILoadingObservableFn, ILoadingPromiseFn } from './loading-generic-fn.interface'; /** * Classe abstrata padrão de loading */ export declare abstract class LoadingDefault implements ILoadingDefault { /** * Execução do loading * @deprecated Utilize o método `executeWithLoading` (Este método não executa automaticamente o observable ou promise) */ executeLoading(callback: ILoadingGenericFn, ...args: any[]): Z; /** * Método que retorna um observable que encapsula a execução do loading durante o processamento * do observable ou promise retornado da função recebida por parâmetro * Ao chamar o `subscribe`: * - o loading iniciará; * - o observable ou promise recebido da função passada parâmetro será executado; * - o loading terminará após o processamento do observable ou promise; * @param callback Função que deve retornar um observable ou promise * @example * // Com observable * const observable = of('Observable Complete'); * * loadingDefault.executeWithLoading(() => observable).subscribe( * returnValue => console.log(returnValue) * ); * * // Com promise * const promise = Promise.resolve('Promise Resolve'); * * loadingDefault.executeWithLoading(() => promise).subscribe( * returnValue => console.log(returnValue) * ); */ executeWithLoading(callback: ILoadingObservableFn | ILoadingPromiseFn, ...args: any[]): Observable; /** Método para mostrar/ativar o spinner */ abstract showLoading(): any; /** Método para esconder/desativar o spinner */ abstract hideLoading(): any; /** Método para setar o texto de loading */ abstract setLoadingText(loadingText: BaseMessage): any; }