import Ajv from 'ajv';
import { CredentialsConfig } from './services/credentials.js';
export interface ConnectorMetadata {
    icon: string;
    auth: CredentialsConfig[];
    baseUrl: string;
    docUrl?: string;
}
export type ConnectorSpec = ConnectorMetadata & {
    endpoints: ConnectorEndpoint[];
};
export interface ConnectorEndpoint {
    name: string;
    description: string;
    path: string;
    method: string;
    parameters: ConnectorParameter[];
    body?: any;
}
export interface ConnectorParameter {
    key: string;
    location: ConnectorParameterLocation;
    description?: string;
    required?: boolean;
    default?: any;
}
export type ConnectorParameterLocation = 'path' | 'query' | 'body' | 'formData' | 'header';
export declare function buildConnectors(namespace: string, spec: ConnectorSpec, _options?: {}): any;
export declare function validateMetadata(value: any, throwInvalid?: boolean): {
    valid: boolean | PromiseLike<any>;
    details: Ajv.ErrorObject[] | null | undefined;
};
export declare function validateEndpoint(value: any, throwInvalid?: boolean): {
    valid: boolean | PromiseLike<any>;
    details: Ajv.ErrorObject[] | null | undefined;
};
//# sourceMappingURL=connector.d.ts.map