import { DateTimeIntervalParamType, InvoiceDirectionType, InvoiceNumberQueryType, QueryInvoiceDataResponse, QueryInvoiceDigestResponse, SoftwareType } from "./osaTypes/invoiceApiTypes";
interface technicalUser {
    user: string;
    password: string;
    signatureKey: string;
    exchangeKey: string;
}
export interface NavApiConfig {
    testSystem: boolean;
    taxNumber: string;
    technicalUser: technicalUser;
    software: SoftwareType;
}
export declare enum XsdSchema {
    InvoiceBase = "invoiceBase",
    InvoiceApi = "invoiceApi",
    Common = "common",
    Data = "data"
}
export { xmlParser } from "./xmlParser";
declare class NavConnect {
    private _config;
    private _requestCounter;
    private _schemaDir;
    private _baseUrl;
    private _builder;
    private _requestIdPrefix;
    private xsdDocs;
    constructor(config: NavApiConfig);
    private addNamespacePrefix;
    private getRequestId;
    private getTimestamp;
    private sha512;
    private sha3_512;
    private formatNavTimestampForHash;
    private createBasicOnlineInvoiceRequest;
    generateAndValidateXml(requestType: string, data: any, schemaType: XsdSchema): Promise<string>;
    queryInvoiceDigest(params: {
        page: number;
        insDate: DateTimeIntervalParamType;
        invoiceDirectionType: InvoiceDirectionType;
    }): Promise<QueryInvoiceDigestResponse>;
    queryInvoiceData(params: InvoiceNumberQueryType): Promise<QueryInvoiceDataResponse>;
}
export default NavConnect;
