import { ENS, tSmartBCHAddress, tStringDecimalUnits } from '.';
export declare type GovDelegate = {
    user: tSmartBCHAddress;
    delegatee: tSmartBCHAddress | ENS;
    governanceToken: tSmartBCHAddress;
};
export declare type GovDelegateByType = {
    user: tSmartBCHAddress;
    delegatee: tSmartBCHAddress | ENS;
    delegationType: tStringDecimalUnits;
    governanceToken: tSmartBCHAddress;
};
export declare type GovDelegateBySig = {
    user: tSmartBCHAddress;
    delegatee: tSmartBCHAddress | ENS;
    expiry: tStringDecimalUnits;
    signature: string;
    governanceToken: tSmartBCHAddress;
};
export declare type GovDelegateByTypeBySig = {
    user: tSmartBCHAddress;
    delegatee: tSmartBCHAddress | ENS;
    delegationType: tStringDecimalUnits;
    expiry: tStringDecimalUnits;
    signature: string;
    governanceToken: tSmartBCHAddress;
};
export declare type GovPrepareDelegateSig = {
    delegatee: tSmartBCHAddress | ENS;
    nonce: tStringDecimalUnits;
    expiry: tStringDecimalUnits;
    governanceTokenName: string;
    governanceToken: tSmartBCHAddress;
};
export declare type GovPrepareDelegateSigByType = {
    delegatee: tSmartBCHAddress | ENS;
    type: tStringDecimalUnits;
    nonce: tStringDecimalUnits;
    expiry: tStringDecimalUnits;
    governanceTokenName: string;
    governanceToken: tSmartBCHAddress;
};
export declare type GovGetDelegateeByType = {
    delegator: tSmartBCHAddress;
    delegationType: tStringDecimalUnits;
    governanceToken: tSmartBCHAddress;
};
export declare type GovGetPowerCurrent = {
    user: tSmartBCHAddress;
    delegationType: tStringDecimalUnits;
    governanceToken: tSmartBCHAddress;
};
export declare type GovGetPowerAtBlock = {
    user: tSmartBCHAddress;
    blockNumber: tStringDecimalUnits;
    delegationType: tStringDecimalUnits;
    governanceToken: tSmartBCHAddress;
};
export declare type GovGetNonce = {
    user: tSmartBCHAddress;
    governanceToken: tSmartBCHAddress;
};
