import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import type { Message } from "@bufbuild/protobuf";
/**
 * Describes the file protos/third_party/simpleperf/record_file.proto.
 */
export declare const file_protos_third_party_simpleperf_record_file: GenFile;
/**
 * @generated from message perfetto.third_party.simpleperf.proto.DebugUnwindFeature
 */
export type DebugUnwindFeature = Message<"perfetto.third_party.simpleperf.proto.DebugUnwindFeature"> & {
    /**
     * @generated from field: repeated perfetto.third_party.simpleperf.proto.DebugUnwindFeature.File file = 1;
     */
    file: DebugUnwindFeature_File[];
};
/**
 * Describes the message perfetto.third_party.simpleperf.proto.DebugUnwindFeature.
 * Use `create(DebugUnwindFeatureSchema)` to create a new message.
 */
export declare const DebugUnwindFeatureSchema: GenMessage<DebugUnwindFeature>;
/**
 * @generated from message perfetto.third_party.simpleperf.proto.DebugUnwindFeature.File
 */
export type DebugUnwindFeature_File = Message<"perfetto.third_party.simpleperf.proto.DebugUnwindFeature.File"> & {
    /**
     * @generated from field: string path = 1;
     */
    path: string;
    /**
     * @generated from field: uint64 size = 2;
     */
    size: bigint;
};
/**
 * Describes the message perfetto.third_party.simpleperf.proto.DebugUnwindFeature.File.
 * Use `create(DebugUnwindFeature_FileSchema)` to create a new message.
 */
export declare const DebugUnwindFeature_FileSchema: GenMessage<DebugUnwindFeature_File>;
/**
 * @generated from message perfetto.third_party.simpleperf.proto.FileFeature
 */
export type FileFeature = Message<"perfetto.third_party.simpleperf.proto.FileFeature"> & {
    /**
     * @generated from field: string path = 1;
     */
    path: string;
    /**
     * The original simpleperf proto defines this field as a uint32. We use an
     * enum here instead for convenience. enum fields are encoded as if they were
     * int32 values, and both uint32 and int32 values have the same proto wire
     * format, so using the enum here is fine.
     *
     * @generated from field: perfetto.third_party.simpleperf.proto.FileFeature.DsoType type = 2;
     */
    type: FileFeature_DsoType;
    /**
     * @generated from field: uint64 min_vaddr = 3;
     */
    minVaddr: bigint;
    /**
     * @generated from field: repeated perfetto.third_party.simpleperf.proto.FileFeature.Symbol symbol = 4;
     */
    symbol: FileFeature_Symbol[];
    /**
     * @generated from oneof perfetto.third_party.simpleperf.proto.FileFeature.type_specific_msg
     */
    typeSpecificMsg: {
        /**
         * Only when type = DSO_DEX_FILE
         *
         * @generated from field: perfetto.third_party.simpleperf.proto.FileFeature.DexFile dex_file = 5;
         */
        value: FileFeature_DexFile;
        case: "dexFile";
    } | {
        /**
         * Only when type = DSO_ELF_FILE
         *
         * @generated from field: perfetto.third_party.simpleperf.proto.FileFeature.ElfFile elf_file = 6;
         */
        value: FileFeature_ElfFile;
        case: "elfFile";
    } | {
        /**
         * Only when type = DSO_KERNEL_MODULE
         *
         * @generated from field: perfetto.third_party.simpleperf.proto.FileFeature.KernelModule kernel_module = 7;
         */
        value: FileFeature_KernelModule;
        case: "kernelModule";
    } | {
        case: undefined;
        value?: undefined;
    };
};
/**
 * Describes the message perfetto.third_party.simpleperf.proto.FileFeature.
 * Use `create(FileFeatureSchema)` to create a new message.
 */
export declare const FileFeatureSchema: GenMessage<FileFeature>;
/**
 * @generated from message perfetto.third_party.simpleperf.proto.FileFeature.Symbol
 */
export type FileFeature_Symbol = Message<"perfetto.third_party.simpleperf.proto.FileFeature.Symbol"> & {
    /**
     * @generated from field: uint64 vaddr = 1;
     */
    vaddr: bigint;
    /**
     * @generated from field: uint32 len = 2;
     */
    len: number;
    /**
     * @generated from field: string name = 3;
     */
    name: string;
};
/**
 * Describes the message perfetto.third_party.simpleperf.proto.FileFeature.Symbol.
 * Use `create(FileFeature_SymbolSchema)` to create a new message.
 */
export declare const FileFeature_SymbolSchema: GenMessage<FileFeature_Symbol>;
/**
 * @generated from message perfetto.third_party.simpleperf.proto.FileFeature.DexFile
 */
export type FileFeature_DexFile = Message<"perfetto.third_party.simpleperf.proto.FileFeature.DexFile"> & {
    /**
     * @generated from field: repeated uint64 dex_file_offset = 1;
     */
    dexFileOffset: bigint[];
};
/**
 * Describes the message perfetto.third_party.simpleperf.proto.FileFeature.DexFile.
 * Use `create(FileFeature_DexFileSchema)` to create a new message.
 */
export declare const FileFeature_DexFileSchema: GenMessage<FileFeature_DexFile>;
/**
 * @generated from message perfetto.third_party.simpleperf.proto.FileFeature.ElfFile
 */
export type FileFeature_ElfFile = Message<"perfetto.third_party.simpleperf.proto.FileFeature.ElfFile"> & {
    /**
     * @generated from field: uint64 file_offset_of_min_vaddr = 1;
     */
    fileOffsetOfMinVaddr: bigint;
};
/**
 * Describes the message perfetto.third_party.simpleperf.proto.FileFeature.ElfFile.
 * Use `create(FileFeature_ElfFileSchema)` to create a new message.
 */
export declare const FileFeature_ElfFileSchema: GenMessage<FileFeature_ElfFile>;
/**
 * @generated from message perfetto.third_party.simpleperf.proto.FileFeature.KernelModule
 */
export type FileFeature_KernelModule = Message<"perfetto.third_party.simpleperf.proto.FileFeature.KernelModule"> & {
    /**
     * @generated from field: uint64 memory_offset_of_min_vaddr = 1;
     */
    memoryOffsetOfMinVaddr: bigint;
};
/**
 * Describes the message perfetto.third_party.simpleperf.proto.FileFeature.KernelModule.
 * Use `create(FileFeature_KernelModuleSchema)` to create a new message.
 */
export declare const FileFeature_KernelModuleSchema: GenMessage<FileFeature_KernelModule>;
/**
 * This enum is not defined in the original simpleperf proto file.
 * We added it here for convenience. Simpleperf uses a regular c++ enum
 * instead. See comment in type field.
 *
 * @generated from enum perfetto.third_party.simpleperf.proto.FileFeature.DsoType
 */
export declare enum FileFeature_DsoType {
    /**
     * @generated from enum value: DSO_KERNEL = 0;
     */
    DSO_KERNEL = 0,
    /**
     * @generated from enum value: DSO_KERNEL_MODULE = 1;
     */
    DSO_KERNEL_MODULE = 1,
    /**
     * @generated from enum value: DSO_ELF_FILE = 2;
     */
    DSO_ELF_FILE = 2,
    /**
     * @generated from enum value: DSO_DEX_FILE = 3;
     */
    DSO_DEX_FILE = 3,
    /**
     * @generated from enum value: DSO_SYMBOL_MAP_FILE = 4;
     */
    DSO_SYMBOL_MAP_FILE = 4,
    /**
     * @generated from enum value: DSO_UNKNOWN_FILE = 5;
     */
    DSO_UNKNOWN_FILE = 5
}
/**
 * Describes the enum perfetto.third_party.simpleperf.proto.FileFeature.DsoType.
 */
export declare const FileFeature_DsoTypeSchema: GenEnum<FileFeature_DsoType>;
//# sourceMappingURL=record_file_pb.d.ts.map