import type { PlainMessage, Struct } from '@viamrobotics/sdk';
/**
 * Metadata for a Viam `Transform`.
 *
 * Per the API this can be a struct of any data, so we type this version for
 * fields we use and how we expect them to be defined.
 */
export type Metadata = {
    colors?: Uint8Array<ArrayBuffer>;
};
/** Type guard that checks whether a string is a recognised {@link Metadata} field name. */
export declare const isMetadataKey: (key: string) => key is keyof Metadata;
/**
 * Extracts typed {@link Metadata} from a proto `Struct` fields map.
 *
 * The `colors` field is expected as a base64-encoded string (the only way to
 * represent binary data in a `google.protobuf.Value`), which is decoded into
 * a `Uint8Array`.
 *
 * Unknown keys are silently ignored.
 */
export declare const parseMetadata: (fields?: PlainMessage<Struct>["fields"]) => Metadata;
