import { BaseConnector, Reshuffle } from 'reshuffle-base-connector';
type Obj = Record<string, any>;
type Options = Record<string, any>;
declare enum GraphTraversalTypes {
    FindAncestors = "FindAncestors",
    FindDescendants = "FindDescendants",
    GetDependents = "GetDependents",
    GetSeriesAncestry = "GetSeriesAncestry",
    GetLightweightRelationships = "GetLightweightRelationships",
    GetRemotestAncestor = "GetRemotestAncestor",
    GetLeafDescendants = "GetLeafDescendants",
    GetParent = "GetParent",
    GetChildren = "GetChildren"
}
interface QueryOptions {
    idOnly?: boolean;
    pageNumber?: number;
    pageSize?: number;
    root?: string;
}
interface CredentialsInterface {
    userId: string;
    partyId: string;
    password?: string;
    shadow?: string;
    domain?: string;
}
type Credentials = string | CredentialsInterface;
export declare class EIDRConnector extends BaseConnector {
    private authorization;
    private xmlOptions;
    constructor(app: Reshuffle, options?: Options, id?: string);
    private renderOperationRequest;
    private renderQueryRequest;
    private renderGraphTraversalRequest;
    private request;
    info(): {
        eidrApiVersion: string;
        eidrConnectorVersion: any;
        availableApiVersions: string[];
    };
    graphTraversal(id: string, graphRequest: GraphTraversalTypes, credentials?: Credentials, apiVersion?: string): Promise<any>;
    query(exprOrObj: string | Obj, options?: QueryOptions, credentials?: Credentials, apiVersion?: string): Promise<{
        totalMatches: number;
        results: any;
    }>;
    resolve(id: string, type?: string, credentials?: Credentials, apiVersion?: string): Promise<any>;
    private resolveContentID;
    private resolveOtherID;
    simpleQuery(exprOrObj: string | Obj, compareFunction?: (a: Obj, b: Obj) => number, credentials?: Credentials): Promise<any>;
}
export {};
