import { uploadData } from './interfaces';
export declare const MAESTER_MAX_SUPPORTED_COUNT_OF_QUERY_HEADERS = 5;
export interface Scope {
    logger: object;
}
export interface Header {
    key: string;
    value: string;
}
export interface KeyIndexer {
    [key: string]: string;
}
export declare class ObjectStorageWrapper {
    logger: any;
    token: string;
    url: string;
    objectStorage: any;
    constructor(context: Scope, userAgent?: string, msgId?: string);
    /**
     * @param data any data (except 'undefined')
     */
    createObject(data: uploadData, queryHeaders?: Header[], metaHeaders?: Header[], ttl?: number): Promise<any>;
    deleteObjectById(id: string): Promise<any>;
    deleteObjectsByQueryParameters(headers: Header[]): Promise<any>;
    lookupObjectById(id: string): Promise<any>;
    getObjectHeaders(id: string): Promise<any>;
    lookupObjectsByQueryParameters(headers: Header[]): Promise<any>;
    /**
     * @param data any data (except 'undefined')
     */
    updateObjectById(id: string, data: uploadData, queryHeaders?: Header[], metaHeaders?: Header[]): Promise<any>;
    private static validateQueryHeaders;
    private static validateMetaHeaders;
    private static validateHeadersFormat;
    private static formHeadersToAdd;
    private static formHeadersToAddByType;
    private static getQueryParams;
}
