import { API, NameType, Action, PermissionLevelType, AuthorityType } from '@wharfkit/antelope';
import { Contract } from './Contract';
import { ActionOptions } from '@wharfkit/contract';
import { Signer } from '../eosio/transaction';
import { BlockchainParams } from './EosioContract';
export declare function addGovernanceOwner(auth: ActionOptions): ActionOptions;
export declare function addGovernanceActive(auth: ActionOptions): ActionOptions;
export declare function addSpecialGovernancePermission(auth: ActionOptions, account: NameType): ActionOptions;
export declare class TonomyEosioProxyContract extends Contract {
    static atAccount(account?: NameType): Promise<TonomyEosioProxyContract>;
    static fromAbi(abi: any, account?: NameType): TonomyEosioProxyContract;
    actions: {
        newAccount: (data: {
            creator: NameType;
            name: NameType;
            owner: AuthorityType;
            active: AuthorityType;
        }, auth?: ActionOptions) => Action;
        setCode: (data: {
            account: NameType;
            vmtype: number;
            vmversion: number;
            code: string;
        }, auth?: ActionOptions) => Action;
        setAbi: (data: {
            account: NameType;
            abi: string;
        }, auth?: ActionOptions) => Action;
        updateAuth: (data: {
            account: NameType;
            permission: NameType;
            parent: NameType;
            auth: AuthorityType;
            authParent?: boolean;
        }, auth?: ActionOptions) => Action;
        linkAuth: (data: {
            account: NameType;
            code: NameType;
            type: NameType;
            requirement: NameType;
        }, auth?: ActionOptions) => Action;
        setPriv: (data: {
            account: NameType;
            isPriv: number;
        }, auth?: ActionOptions) => Action;
        setProds: (data: {
            schedule: any[];
        }, auth?: ActionOptions) => Action;
        setParams: (data: {
            params: BlockchainParams;
        }, auth?: ActionOptions) => Action;
    };
    /** prepare setcode & setabi actions */
    deployContractActions(account: NameType, wasmFileContent: string | Buffer, abiFileContent: string | Buffer, authOverride?: PermissionLevelType | PermissionLevelType[]): Promise<Action[]>;
    /** deploy via transact */
    deployContract(account: NameType, wasmFileContent: string | Buffer, abiFileContent: string | Buffer, signer: Signer | Signer[], authOverride?: PermissionLevelType | PermissionLevelType[]): Promise<API.v1.PushTransactionResponse>;
    newAccount(creator: NameType, name: NameType, owner: AuthorityType, active: AuthorityType, signer: Signer | Signer[]): Promise<API.v1.PushTransactionResponse>;
    updateAuth(account: NameType, permission: NameType, parent: NameType, auth: AuthorityType, signer: Signer, options?: {
        authParent?: boolean;
    }): Promise<API.v1.PushTransactionResponse>;
    linkAuth(account: NameType, code: NameType, type: NameType, requirement: NameType, signer: Signer): Promise<API.v1.PushTransactionResponse>;
    setPriv(account: NameType, isPriv: number, signer: Signer): Promise<API.v1.PushTransactionResponse>;
}
export declare const getTonomyEosioProxyContract: () => TonomyEosioProxyContract;
//# sourceMappingURL=TonomyEosioProxyContract.d.ts.map