/// <reference types="node" />
import { As } from 'type-tagger';
import { IBaseTx } from '../base';
import { BaseLiskCodec, LiskTransaction } from './base_lisk';
/**
 * Register Delegate Identifier
 */
export interface IRegisterDelegateTx extends IBaseTx {
    readonly kind: 'register-delegate';
    /**
     * The identifier/username/name of the delegate to register
     */
    readonly identifier: string & As<'delegateName'>;
}
export declare type LiskRegDelegateAsset = {
    delegate: {
        username: string;
    };
};
export declare class LiskRegDelegateTxCodec extends BaseLiskCodec<LiskRegDelegateAsset> {
    constructor();
    calcFees(tx: IRegisterDelegateTx): number;
    transform(from: IRegisterDelegateTx): LiskTransaction<LiskRegDelegateAsset>;
    protected assetBytes(tx: LiskTransaction<LiskRegDelegateAsset>): Buffer;
}
