import { OnModuleInit } from '@nestjs/common';
import { Client, WorkflowHandle } from '@temporalio/client';
import { TemporalOptions, WorkflowStartOptions, WorkflowHandleWithMetadata, ClientServiceStatus, ClientHealthStatus } from '../interfaces';
export declare class TemporalClientService implements OnModuleInit {
    private readonly temporalClient;
    private readonly options;
    private readonly logger;
    private client;
    private isInitialized;
    private lastHealthCheck;
    private healthCheckInterval;
    constructor(temporalClient: Client | null, options: TemporalOptions);
    onModuleInit(): Promise<void>;
    startWorkflow(workflowType: string, args?: unknown[], options?: WorkflowStartOptions): Promise<WorkflowHandleWithMetadata>;
    getWorkflowHandle(workflowId: string, runId?: string): Promise<WorkflowHandle>;
    terminateWorkflow(workflowId: string, reason?: string, runId?: string): Promise<void>;
    cancelWorkflow(workflowId: string, runId?: string): Promise<void>;
    signalWorkflow(workflowId: string, signalName: string, args?: unknown[], runId?: string): Promise<void>;
    signalWorkflowHandle(handle: WorkflowHandle, signalName: string, args?: unknown[]): Promise<void>;
    queryWorkflow<T = unknown>(workflowId: string, queryName: string, args?: unknown[], runId?: string): Promise<T>;
    queryWorkflowHandle<T = unknown>(handle: WorkflowHandle, queryName: string, args?: unknown[]): Promise<T>;
    getWorkflowResult<T = unknown>(workflowId: string, runId?: string): Promise<T>;
    isHealthy(): boolean;
    getHealth(): ClientHealthStatus;
    getStatus(): ClientServiceStatus;
    getRawClient(): Client | null;
    private performHealthCheck;
    private ensureClientAvailable;
    private generateWorkflowId;
    private validateWorkflowId;
    private extractErrorMessage;
    private isRetryableError;
    private sleep;
}
