import { identity, core } from 'oci-sdk';
export declare class OCIClient {
    private provider;
    private computeClient;
    private identityClient;
    constructor(profileName?: string);
    /**
     * List available compartments
     */
    listCompartments(): Promise<identity.models.Compartment[]>;
    /**
     * List compute instances in a compartment
     */
    listInstances(compartmentId: string): Promise<core.models.Instance[]>;
    /**
     * Get instance details
     */
    getInstance(instanceId: string): Promise<core.models.Instance>;
    /**
     * Start a compute instance
     */
    startInstance(instanceId: string): Promise<void>;
    /**
     * Stop a compute instance
     */
    stopInstance(instanceId: string): Promise<void>;
    /**
     * Restart a compute instance
     */
    restartInstance(instanceId: string): Promise<void>;
    /**
     * Wait for an instance to reach a specific state
     */
    private waitForInstanceState;
}
