import { OnModuleInit } from '@nestjs/common';
import { Client, WorkflowHandle, WorkflowUpdateHandle, FullActivityId, ActivityOptions as StandaloneActivityOptions, ActivityHandle, ActivityExecutionInfo, CountActivityExecutions } 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?: readonly 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?: readonly unknown[], runId?: string): Promise<void>;
    signalWorkflowHandle(handle: WorkflowHandle, signalName: string, args?: readonly unknown[]): Promise<void>;
    signalWithStart(workflowType: string, signalName: string, signalArgs: readonly unknown[], workflowArgs: readonly unknown[], options?: WorkflowStartOptions): Promise<WorkflowHandleWithMetadata>;
    queryWorkflow<T = unknown>(workflowId: string, queryName: string, args?: readonly unknown[], runId?: string): Promise<T>;
    queryWorkflowHandle<T = unknown>(handle: WorkflowHandle, queryName: string, args?: readonly unknown[]): Promise<T>;
    updateWorkflow<T = unknown>(workflowId: string, updateName: string, args?: readonly unknown[], runId?: string): Promise<T>;
    updateWorkflowHandle<T = unknown>(handle: WorkflowHandle, updateName: string, args?: readonly unknown[]): Promise<T>;
    startUpdateWorkflow<T = unknown>(workflowId: string, updateName: string, args?: readonly unknown[], runId?: string): Promise<WorkflowUpdateHandle<T>>;
    startUpdateWorkflowHandle<T = unknown>(handle: WorkflowHandle, updateName: string, args?: readonly unknown[]): Promise<WorkflowUpdateHandle<T>>;
    completeActivity(taskTokenOrFullActivityId: Uint8Array | FullActivityId, result: unknown): Promise<void>;
    failActivity(taskTokenOrFullActivityId: Uint8Array | FullActivityId, err: unknown): Promise<void>;
    heartbeatActivity(taskTokenOrFullActivityId: Uint8Array | FullActivityId, details?: unknown): Promise<void>;
    reportActivityCancellation(taskTokenOrFullActivityId: Uint8Array | FullActivityId, details?: unknown): Promise<void>;
    startStandaloneActivity<R = unknown>(activityType: string, options: StandaloneActivityOptions): Promise<ActivityHandle<R>>;
    executeStandaloneActivity<R = unknown>(activityType: string, options: StandaloneActivityOptions): Promise<R>;
    getStandaloneActivityHandle<R = unknown>(activityId: string, runId?: string): ActivityHandle<R>;
    listStandaloneActivities(query: string): AsyncIterable<ActivityExecutionInfo>;
    countStandaloneActivities(query: string): Promise<CountActivityExecutions>;
    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;
}
