import { PortableRegistry, SignedExtensionDefLatest } from '@dedot/codecs'; import * as $ from '@dedot/shape'; import { PayloadOptions, SignerPayloadJSON } from '@dedot/types'; import { ISubstrateClient } from '../../types.js'; export interface ISignedExtension { identifier: string; $Data: $.AnyShape; $AdditionalSigned: $.AnyShape; data: any; additionalSigned: any; init(): Promise; fromPayload(payload: SignerPayloadJSON): Promise; registry: PortableRegistry; toPayload(...additional: any[]): Partial; } interface SignedExtensionOptions { def?: SignedExtensionDefLatest; signerAddress?: string; payloadOptions?: Partial; } export declare abstract class SignedExtension implements ISignedExtension { readonly client: ISubstrateClient; readonly options?: SignedExtensionOptions | undefined; data: Data; additionalSigned: AdditionalSigned; constructor(client: ISubstrateClient, options?: SignedExtensionOptions | undefined); init(): Promise; fromPayload(payload: SignerPayloadJSON): Promise; get identifier(): string; get $Data(): $.AnyShape; get $AdditionalSigned(): $.AnyShape; get registry(): PortableRegistry; get signedExtensionDef(): { ident: string; typeId: number; additionalSigned: number; }; get payloadOptions(): Partial>; toPayload(...args: any[]): Partial; } export {};