import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import { BranchContainerModel, BranchDistanceContainerModel } from '../../../../../../models/aggregates/branch';
import { ApiResponseModel, BasicApiResponseModel, PagingResponseModel } from '../../shared/api-response.model';
import { ApiVisa } from '../../shared/api-visa.model';
import { BaseApiPublicLoginTemplateService } from '../../shared/base-api-public-login-template.service';
import { Pagination } from '../../shared/pagination.model';
declare class BranchHdrQueryCriteriaClass {
}
export declare class BranchService extends BaseApiPublicLoginTemplateService<BranchContainerModel, BranchContainerModel, BranchContainerModel> {
    readonly url: string;
    readonly img_endpoint: string;
    static readonly BRANCH_SUBPATH = "branches/";
    constructor(http: HttpClient);
    getBranchDistancesFromUserPublic(oriLat: number, oriLong: number, visa: ApiVisa): Observable<BasicApiResponseModel<BranchDistanceContainerModel>>;
    getPromiseByCriteria(visa: ApiVisa, criteria?: BranchHdrQueryCriteriaClass): Observable<ApiResponseModel<BranchContainerModel>>;
    uploadBranchLogo(visa: ApiVisa, file: File, branchHdrGuid: string, imageType?: string): Observable<Object>;
    updateBranchLogo(visa: ApiVisa, file: File, branchExtGuid: string): Observable<Object>;
    getFile(branchExtGuid: string, visa: ApiVisa): Observable<Blob>;
    deleteFile(branchExtGuid: string, visa: ApiVisa): Observable<Blob>;
    getAllBranchForAppletLoginEp(appletGuid: string, visa: ApiVisa): Observable<BasicApiResponseModel<BranchContainerModel>>;
    getBranchByCriteriaForAppletLoginEp(appletGuid: string, pagination: Pagination, visa: ApiVisa, criteria?: any): Observable<PagingResponseModel<BranchContainerModel>>;
    getBranchByGuidForAppletLoginEp(appletGuid: string, guid: string, visa: ApiVisa): Observable<BasicApiResponseModel<BranchContainerModel>>;
    getByMultipleGuidCriteria(branchGuids: string, visa: ApiVisa): Observable<BasicApiResponseModel<BranchContainerModel>>;
    getByGuidWebsiteEp(websiteGuid: string, visa: ApiVisa): Observable<ApiResponseModel<BranchContainerModel>>;
    getByGuidPublicEp(branchGuid: string, visa: ApiVisa): Observable<BasicApiResponseModel<BranchContainerModel>>;
    getBranchByHdrGuids(guid: any, visa: ApiVisa): Observable<BasicApiResponseModel<any>>;
}
export {};
