import { z } from 'zod';
import { OCIClient } from '../oci/client';
export declare class OCITools {
    ociClient: OCIClient;
    constructor(profileName?: string);
    /**
     * List OCI compartments
     */
    listCompartments: {
        name: string;
        description: string;
        parameters: {};
        handler: () => Promise<{
            content: {
                text: string;
                type: "text";
            }[];
        }>;
    };
    /**
     * List instances in a compartment
     */
    listInstances: {
        name: string;
        description: string;
        parameters: {
            compartmentId: z.ZodString;
        };
        handler: ({ compartmentId }: {
            compartmentId: string;
        }) => Promise<{
            content: {
                text: string;
                type: "text";
            }[];
        }>;
    };
    /**
     * Get instance details
     */
    getInstance: {
        name: string;
        description: string;
        parameters: {
            instanceId: z.ZodString;
        };
        handler: ({ instanceId }: {
            instanceId: string;
        }) => Promise<{
            content: {
                text: string;
                type: "text";
            }[];
        }>;
    };
    /**
     * Start an instance
     */
    startInstance: {
        name: string;
        description: string;
        parameters: {
            instanceId: z.ZodString;
        };
        handler: ({ instanceId }: {
            instanceId: string;
        }) => Promise<{
            content: {
                text: string;
                type: "text";
            }[];
        }>;
    };
    /**
     * Stop an instance
     */
    stopInstance: {
        name: string;
        description: string;
        parameters: {
            instanceId: z.ZodString;
        };
        handler: ({ instanceId }: {
            instanceId: string;
        }) => Promise<{
            content: {
                text: string;
                type: "text";
            }[];
        }>;
    };
    /**
     * Restart an instance
     */
    restartInstance: {
        name: string;
        description: string;
        parameters: {
            instanceId: z.ZodString;
        };
        handler: ({ instanceId }: {
            instanceId: string;
        }) => Promise<{
            content: {
                text: string;
                type: "text";
            }[];
        }>;
    };
    /**
     * Get all tools as an array
     */
    getAllTools(): ({
        name: string;
        description: string;
        parameters: {};
        handler: () => Promise<{
            content: {
                text: string;
                type: "text";
            }[];
        }>;
    } | {
        name: string;
        description: string;
        parameters: {
            compartmentId: z.ZodString;
        };
        handler: ({ compartmentId }: {
            compartmentId: string;
        }) => Promise<{
            content: {
                text: string;
                type: "text";
            }[];
        }>;
    } | {
        name: string;
        description: string;
        parameters: {
            instanceId: z.ZodString;
        };
        handler: ({ instanceId }: {
            instanceId: string;
        }) => Promise<{
            content: {
                text: string;
                type: "text";
            }[];
        }>;
    })[];
}
