import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import { DotCode, RelatedCode } from './models';
import { Config } from './models/config';
export declare class AngularDotcodesService {
    private http;
    private config;
    private codesCache;
    private codeCache;
    constructor(http: HttpClient, config: Config);
    /**
    * Method GetCode
    * @param column Column name to get Dotcode from
    * @param codeValue The code value to retrieve
    * @return Full HTTP response as Observable
    */
    GetCode(column: string, codeValue: string): Observable<DotCode>;
    private loadCodes(key, column, codeValue);
    /**
    * Method GetCodes
    * @param column Column name to get Dotcode from
    * @return Full HTTP response as Observable
    */
    GetCodes(column: string): Observable<DotCode[]>;
    /**
    * Method GetRelatedCodes
    * @param column Column name for dotcode
    * @param codeValue DotCode value to get related codes for
    * @param relatedCode Related Column name to get Related Codes from
    * @return Full HTTP response as Observable
    */
    GetRelatedCodes(column: string, codeValue: string, relatedCode: string): Observable<RelatedCode[]>;
    private sendRequest<T>(method, uri, headers, params, body);
}
