export interface ArtifactResponse {
    id: string;
    parentTaskId: string;
    timestamp: number;
    agent: {
        id: string;
        name: string;
        type: string;
    };
    messageType: string;
    action: {
        tool: string;
        operation: string;
        params: {
            url: string;
            pageTitle: string;
            visual: {
                icon: string;
                color: string;
            };
            stream: {
                type: string;
                streamId: string;
                target: string;
            };
        };
    };
    content: string;
    artifacts: {
        id: string;
        type: string;
        content: {
            url: string;
            title: string;
            screenshot: string;
            textContent: string;
            extractedInfo: Record<string, any>;
        };
        metadata: {
            domainName: string;
            visitTimestamp: number;
            category: string;
        };
    }[];
    status: string;
}
export declare function getArtifact(toolName: string, url: string | Promise<string | null>): ArtifactResponse;
/**
 * Get data link from documents
 */
export declare function getDataLink(data: any[]): Promise<string | null>;
/**
 * Insert data link to MongoDB
 */
export declare function insertDataLinkToMongodb(dataLink: string, linkHeader: string, sessionId: string, imo?: string, vesselName?: string): Promise<void>;
/**
 * Update Typesense filter with company IMO numbers for filtering
 * @param filter - Existing filter string
 * @returns Updated filter string with IMO restrictions
 */
export declare function updateTypesenseFilterWithCompanyImos(filter: string): string;
/**
 * Update MongoDB filter with company IMO numbers for filtering
 * @param filter - Existing MongoDB filter object
 * @returns Updated filter object with IMO restrictions
 */
export declare function updateMongoFilterWithCompanyImos(filter: any): any;
/**
 * Update MongoDB aggregation pipeline with company IMO numbers for filtering
 * @param pipeline - Existing MongoDB aggregation pipeline
 * @returns Updated pipeline with IMO restrictions
 */
export declare function updateMongoAggregationWithCompanyImos(pipeline: any[]): any[];
/**
 * Update search query parameters with company IMO filtering
 * @param searchParams - Search parameters object
 * @returns Updated search parameters with IMO restrictions
 */
export declare function updateSearchParamsWithCompanyImos(searchParams: any): any;
/**
 * Check if a vessel IMO is authorized for the current company
 * @param imo - IMO number to check
 * @returns True if authorized, false otherwise
 */
export declare function isVesselAuthorizedForCompany(imo: string | number): boolean;
/**
 * Get authorized IMO numbers for the current company
 * @returns Array of authorized IMO numbers
 */
export declare function getAuthorizedImoNumbers(): string[];
/**
 * Log IMO filtering activity for monitoring
 * @param action - Action being performed
 * @param details - Additional details about the filtering
 */
export declare function logImoFilteringActivity(action: string, details?: any): void;
