import _m0 from "protobufjs/minimal";
import { FileID, KeyList } from "./basic_types";
import { Timestamp } from "./timestamp";
export declare const protobufPackage = "proto";
/**
* Modify the metadata and/or contents of a file. If a field is not set in the transaction body, the
* corresponding file attribute will be unchanged. This transaction must be signed by all the keys
* in the top level of a key list (M-of-M) of the file being updated. If the keys themselves are
* being updated, then the transaction must also be signed by all the new keys. If the keys contain
* additional KeyList or ThresholdKey then M-of-M secondary KeyList or ThresholdKey signing
* requirements must be meet If the update transaction sets the auto_renew_account_id field
* to anything other than the sentinel 0.0.0, the key of the referenced account must sign.
*/
export interface FileUpdateTransactionBody {
/** The ID of the file to update */
fileID: FileID | undefined;
/** The new expiry time (ignored if not later than the current expiry) */
expirationTime: Timestamp | undefined;
/** The new list of keys that can modify or delete the file */
keys: KeyList | undefined;
/** The new contents that should overwrite the file's current contents */
contents: Uint8Array;
/** If set, the new memo to be associated with the file (UTF-8 encoding max 100 bytes) */
memo: string | undefined;
}
export declare const FileUpdateTransactionBody: {
encode(message: FileUpdateTransactionBody, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): FileUpdateTransactionBody;
fromJSON(object: any): FileUpdateTransactionBody;
toJSON(message: FileUpdateTransactionBody): unknown;
create(base?: DeepPartial): FileUpdateTransactionBody;
fromPartial(object: DeepPartial): FileUpdateTransactionBody;
};
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
export type DeepPartial = T extends Builtin ? T : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {
$case: string;
} ? {
[K in keyof Omit]?: DeepPartial;
} & {
$case: T["$case"];
} : T extends {} ? {
[K in keyof T]?: DeepPartial;
} : Partial;
export {};
//# sourceMappingURL=file_update.d.ts.map