import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1Info } from "./Info.js";
import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1OperationInitiator } from "./OperationInitiator.js";
import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1RetryStrategy } from "./RetryStrategy.js";
import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SyncOperation } from "./SyncOperation.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
 * Operation contains information about a requested or running operation
 */
export interface IOperation {
    /**
     * Info is a list of informational items for this operation
     */
    "info"?: Array<IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1Info>;
    /**
     * InitiatedBy contains information about who initiated the operations
     */
    "initiatedBy"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1OperationInitiator;
    /**
     * Retry controls the strategy to apply if a sync fails
     */
    "retry"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1RetryStrategy;
    /**
     * Sync contains parameters for the operation
     */
    "sync"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SyncOperation;
}
/**
 * Operation contains information about a requested or running operation
 */
export declare class Operation extends Model<IOperation> implements IOperation {
    "info"?: Array<IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1Info>;
    "initiatedBy"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1OperationInitiator;
    "retry"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1RetryStrategy;
    "sync"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SyncOperation;
    constructor(data?: ModelData<IOperation>);
}
export type { IOperation as IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1Operation, Operation as ComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1Operation };
