///
import { Long } from "../../helpers";
import * as _m0 from "protobufjs/minimal";
export declare const protobufPackage = "bnbchain.greenfield.storage";
/**
* SourceType represents the source of resource creation, which can
* from Greenfield native or from a cross-chain transfer from BSC
*/
export declare enum SourceType {
SOURCE_TYPE_ORIGIN = 0,
SOURCE_TYPE_BSC_CROSS_CHAIN = 1,
SOURCE_TYPE_MIRROR_PENDING = 2,
UNRECOGNIZED = -1
}
export declare const SourceTypeSDKType: typeof SourceType;
export declare function sourceTypeFromJSON(object: any): SourceType;
export declare function sourceTypeToJSON(object: SourceType): string;
/**
* RedundancyType represents the redundancy algorithm type for object data,
* which can be either multi-replica or erasure coding.
*/
export declare enum RedundancyType {
REDUNDANCY_EC_TYPE = 0,
REDUNDANCY_REPLICA_TYPE = 1,
UNRECOGNIZED = -1
}
export declare const RedundancyTypeSDKType: typeof RedundancyType;
export declare function redundancyTypeFromJSON(object: any): RedundancyType;
export declare function redundancyTypeToJSON(object: RedundancyType): string;
/**
* ObjectStatus represents the creation status of an object. After a user successfully
* sends a CreateObject transaction onto the chain, the status is set to 'Created'.
* After the Primary Service Provider successfully sends a Seal Object transaction onto
* the chain, the status is set to 'Sealed'.
*/
export declare enum ObjectStatus {
OBJECT_STATUS_CREATED = 0,
OBJECT_STATUS_SEALED = 1,
UNRECOGNIZED = -1
}
export declare const ObjectStatusSDKType: typeof ObjectStatus;
export declare function objectStatusFromJSON(object: any): ObjectStatus;
export declare function objectStatusToJSON(object: ObjectStatus): string;
/** VisibilityType is the resources public status. */
export declare enum VisibilityType {
VISIBILITY_TYPE_UNSPECIFIED = 0,
VISIBILITY_TYPE_PUBLIC_READ = 1,
VISIBILITY_TYPE_PRIVATE = 2,
/** VISIBILITY_TYPE_INHERIT - If the bucket Visibility is inherit, it's finally set to private. If the object Visibility is inherit, it's the same as bucket. */
VISIBILITY_TYPE_INHERIT = 3,
UNRECOGNIZED = -1
}
export declare const VisibilityTypeSDKType: typeof VisibilityType;
export declare function visibilityTypeFromJSON(object: any): VisibilityType;
export declare function visibilityTypeToJSON(object: VisibilityType): string;
/**
* Approval is the signature information returned by the Primary Storage Provider (SP) to the user
* after allowing them to create a bucket or object, which is then used for verification on the chain
* to ensure agreement between the Primary SP and the user."
*/
export interface Approval {
/** expired_height is the block height at which the signature expires. */
expiredHeight: Long;
/** The signature needs to conform to the EIP 712 specification. */
sig: Uint8Array;
}
/**
* Approval is the signature information returned by the Primary Storage Provider (SP) to the user
* after allowing them to create a bucket or object, which is then used for verification on the chain
* to ensure agreement between the Primary SP and the user."
*/
export interface ApprovalSDKType {
expired_height: Long;
sig: Uint8Array;
}
/**
* SecondarySpSignDoc used to generate seal signature of secondary SP
* If the secondary SP only signs the checksum to declare the object pieces are saved,
* it might be reused by the primary SP to fake it's declaration.
* Then the primary SP can challenge and slash the secondary SP.
* So the id of the object is needed to prevent this.
*/
export interface SecondarySpSignDoc {
spAddress: string;
objectId: string;
checksum: Uint8Array;
}
/**
* SecondarySpSignDoc used to generate seal signature of secondary SP
* If the secondary SP only signs the checksum to declare the object pieces are saved,
* it might be reused by the primary SP to fake it's declaration.
* Then the primary SP can challenge and slash the secondary SP.
* So the id of the object is needed to prevent this.
*/
export interface SecondarySpSignDocSDKType {
sp_address: string;
object_id: string;
checksum: Uint8Array;
}
export declare const Approval: {
encode(message: Approval, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): Approval;
fromJSON(object: any): Approval;
toJSON(message: Approval): unknown;
fromPartial Long.Long;
and: (other: string | number | Long.Long) => Long.Long;
compare: (other: string | number | Long.Long) => number;
comp: (other: string | number | Long.Long) => number;
divide: (divisor: string | number | Long.Long) => Long.Long;
div: (divisor: string | number | Long.Long) => Long.Long;
equals: (other: string | number | Long.Long) => boolean;
eq: (other: string | number | Long.Long) => boolean;
getHighBits: () => number;
getHighBitsUnsigned: () => number;
getLowBits: () => number;
getLowBitsUnsigned: () => number;
getNumBitsAbs: () => number;
greaterThan: (other: string | number | Long.Long) => boolean;
gt: (other: string | number | Long.Long) => boolean;
greaterThanOrEqual: (other: string | number | Long.Long) => boolean;
gte: (other: string | number | Long.Long) => boolean;
isEven: () => boolean;
isNegative: () => boolean;
isOdd: () => boolean;
isPositive: () => boolean;
isZero: () => boolean;
lessThan: (other: string | number | Long.Long) => boolean;
lt: (other: string | number | Long.Long) => boolean;
lessThanOrEqual: (other: string | number | Long.Long) => boolean;
lte: (other: string | number | Long.Long) => boolean;
modulo: (other: string | number | Long.Long) => Long.Long;
mod: (other: string | number | Long.Long) => Long.Long;
multiply: (multiplier: string | number | Long.Long) => Long.Long;
mul: (multiplier: string | number | Long.Long) => Long.Long;
negate: () => Long.Long;
neg: () => Long.Long;
not: () => Long.Long;
notEquals: (other: string | number | Long.Long) => boolean;
neq: (other: string | number | Long.Long) => boolean;
or: (other: string | number | Long.Long) => Long.Long;
shiftLeft: (numBits: number | Long.Long) => Long.Long;
shl: (numBits: number | Long.Long) => Long.Long;
shiftRight: (numBits: number | Long.Long) => Long.Long;
shr: (numBits: number | Long.Long) => Long.Long;
shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long;
shru: (numBits: number | Long.Long) => Long.Long;
subtract: (subtrahend: string | number | Long.Long) => Long.Long;
sub: (subtrahend: string | number | Long.Long) => Long.Long;
toInt: () => number;
toNumber: () => number;
toBytes: (le?: boolean | undefined) => number[];
toBytesLE: () => number[];
toBytesBE: () => number[];
toSigned: () => Long.Long;
toString: (radix?: number | undefined) => string;
toUnsigned: () => Long.Long;
xor: (other: string | number | Long.Long) => Long.Long;
} & Record, never>) | undefined;
sig?: Uint8Array | undefined;
} & Record, never>>(object: I): Approval;
fromSDK(object: ApprovalSDKType): Approval;
toSDK(message: Approval): ApprovalSDKType;
};
export declare const SecondarySpSignDoc: {
encode(message: SecondarySpSignDoc, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): SecondarySpSignDoc;
fromJSON(object: any): SecondarySpSignDoc;
toJSON(message: SecondarySpSignDoc): unknown;
fromPartial, never>>(object: I): SecondarySpSignDoc;
fromSDK(object: SecondarySpSignDocSDKType): SecondarySpSignDoc;
toSDK(message: SecondarySpSignDoc): SecondarySpSignDocSDKType;
};