export type WorkflowDispatchInputs = Record<string, string | number | boolean>;
export type WorkflowRunStatusFilter = 'completed' | 'in_progress' | 'queued';
export type WorkflowRunStatus = WorkflowRunStatusFilter | string;
export type WorkflowRunConclusion = 'success' | 'failure' | 'cancelled' | 'timed_out' | 'neutral' | 'action_required' | 'skipped' | 'stale' | 'unknown' | null | string;
export interface WorkflowRunSummary {
    id: number;
    status: WorkflowRunStatus;
    conclusion: WorkflowRunConclusion;
    html_url: string;
}
export interface WorkflowCompletionResult {
    status: WorkflowRunStatus;
    conclusion: WorkflowRunConclusion;
    runId: number;
    htmlUrl: string;
}
/**
 * Trigger a workflow_dispatch event
 * @param owner - GitHub organization
 * @param repo - Repository name
 * @param workflowId - Workflow file name (e.g., 'deploy.yaml') or workflow ID
 * @param ref - Git ref to run on (branch, tag, or SHA)
 * @param inputs - Workflow input key-value pairs (strings, numbers, or booleans)
 */
export declare function triggerWorkflow(owner: string, repo: string, workflowId: string | number, ref: string, inputs?: WorkflowDispatchInputs): Promise<void>;
/**
 * Get workflow run details
 * @param owner - GitHub organization
 * @param repo - Repository name
 * @param runId - Workflow run ID
 */
export declare function getWorkflowRun(owner: string, repo: string, runId: number): Promise<WorkflowRunSummary>;
/**
 * List recent workflow runs
 * @param owner - GitHub organization
 * @param repo - Repository name
 * @param workflowId - Optional workflow file name or ID to filter by
 * @param branch - Optional branch name to filter by
 * @param status - Optional status to filter by
 */
export declare function listWorkflowRuns(owner: string, repo: string, workflowId?: string | number, branch?: string, status?: WorkflowRunStatusFilter): Promise<WorkflowRunSummary[]>;
/**
 * Wait for workflow to complete with timeout
 * Polls on the provided interval. Default timeout is 5 minutes (300000ms).
 * @param owner - GitHub organization
 * @param repo - Repository name
 * @param runId - Workflow run ID
 * @param timeoutMs - Maximum time to wait in milliseconds (default: 300000ms / 5 minutes)
 * @param pollIntervalMs - Polling interval in milliseconds (default: 10000ms / 10 seconds)
 */
export declare function waitForWorkflowCompletion(owner: string, repo: string, runId: number, timeoutMs?: number, pollIntervalMs?: number): Promise<WorkflowCompletionResult>;
declare const _default: {
    triggerWorkflow: typeof triggerWorkflow;
    getWorkflowRun: typeof getWorkflowRun;
    listWorkflowRuns: typeof listWorkflowRuns;
    waitForWorkflowCompletion: typeof waitForWorkflowCompletion;
};
export default _default;
