import { type McpToolResult } from "../../_shared/baseToolAdapter.js";
export type McpListResourcesPermission = "mcp:connection:read" | "mcp:resource:list";
export type McpListedResourceEnvelope = {
    uri: string;
    name?: string;
    mimeType?: string;
    raw?: unknown;
};
export type McpListResourcesEnvelope = {
    resources: readonly McpListedResourceEnvelope[];
    nextCursor?: string;
    exhausted: boolean;
};
export type McpListResourcesContext = {
    runtimeId?: string;
    sessionId?: string;
    invocationId?: string;
    dryRun?: boolean;
    guard?: {
        accepted?: boolean;
        allowed?: boolean;
        reason?: string;
    };
    allowedServerIds?: readonly string[];
    allowedUriPrefixes?: readonly string[];
    grantedPermissions?: readonly McpListResourcesPermission[];
    auditMetadata?: Readonly<Record<string, unknown>>;
};
export type McpListResourcesTarget = {
    serverId: string;
    uriPrefix?: string;
    cursor?: string;
    limit?: number;
};
export type McpListResourcesRequest = {
    target?: Partial<McpListResourcesTarget> | null;
    context?: McpListResourcesContext;
};
export type McpListResourcesProviderResult = McpListResourcesEnvelope & {
    providerMetadata?: Readonly<Record<string, unknown>>;
    raw?: unknown;
};
export type McpListResourcesProvider = (request: McpListResourcesTarget, context: Readonly<Record<string, unknown>>) => Promise<McpListResourcesProviderResult> | McpListResourcesProviderResult;
export type McpListResourcesOutput = {
    kind: "agentCore.basicTool.mcp.listResources";
    target: McpListResourcesTarget;
    dryRun: boolean;
    executionBlocked: boolean;
    providerCalled: boolean;
    permissionsRequired: readonly McpListResourcesPermission[];
    unsafeSideEffects: false;
    resourceEnvelope: McpListResourcesEnvelope;
    providerMetadata?: Readonly<Record<string, unknown>>;
};
export type McpListResourcesErrorCode = "INVALID_REQUEST" | "INVALID_CONTEXT" | "MISSING_SERVER_ID" | "INVALID_SERVER_ID" | "INVALID_LIMIT" | "SCOPE_REJECTED" | "PERMISSION_DENIED" | "GOVERNANCE_REJECTED" | "REAL_EXECUTION_BLOCKED" | "PROVIDER_UNAVAILABLE" | "PROVIDER_REJECTED";
export type McpListResourcesResult = McpToolResult<McpListResourcesOutput, McpListResourcesErrorCode>;
export declare const mcpListResourcesDescriptor: {
    readonly toolId: "mcp.listResources";
    readonly capability: "list-resources";
    readonly route: "agent_executionEngine.basic_toolLayer.baseTools.mcpBase.resource";
    readonly defaultDryRun: true;
    readonly tapOwnsApproval: true;
    readonly permissionsRequired: readonly ["mcp:connection:read", "mcp:resource:list"];
    readonly defaultLimit: 100;
    readonly maxLimit: 500;
};
export declare function planMcpListResources(request?: unknown): McpListResourcesResult;
export declare function executeMcpListResources(request?: unknown, provider?: McpListResourcesProvider): Promise<McpListResourcesResult>;
