import { TransactionInstruction, PublicKey } from '@solana/web3.js';
export interface UpdateOperationAccountArgs {
    param: number;
    keys: Array<PublicKey>;
}
export interface UpdateOperationAccountAccounts {
    /** Address to be set as operation account owner. */
    owner: PublicKey;
    /** Initialize operation state account to store operation owner address and white list mint. */
    operationState: PublicKey;
    systemProgram: PublicKey;
}
export declare const layout: any;
/**
 * Update the operation account
 *
 * # Arguments
 *
 * * `ctx`- The context of accounts
 * * `param`- The vaule can be 0 | 1 | 2 | 3, otherwise will report a error
 * * `keys`- update operation owner when the `param` is 0
 * remove operation owner when the `param` is 1
 * update whitelist mint when the `param` is 2
 * remove whitelist mint when the `param` is 3
 *
 */
export declare function updateOperationAccount(args: UpdateOperationAccountArgs, accounts: UpdateOperationAccountAccounts): TransactionInstruction;
