import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import type { Message } from "@bufbuild/protobuf";
/**
 * Describes the file protos/perfetto/config/profiling/java_hprof_config.proto.
 */
export declare const file_protos_perfetto_config_profiling_java_hprof_config: GenFile;
/**
 * Configuration for managed app heap graph snapshots.
 *
 * @generated from message perfetto.protos.JavaHprofConfig
 */
export type JavaHprofConfig = Message<"perfetto.protos.JavaHprofConfig"> & {
    /**
     * Command line allowlist, matched against the /proc/<pid>/cmdline (not the
     * comm string). The semantics of this field were changed since its original
     * introduction.
     *
     * On Android T+ (13+), this field can specify a single wildcard (*), and
     * the profiler will attempt to match it in two possible ways:
     * * if the pattern starts with a '/', then it is matched against the first
     *   segment of the cmdline (i.e. argv0). For example "/bin/e*" would match
     *   "/bin/echo".
     * * otherwise the pattern is matched against the part of argv0
     *   corresponding to the binary name (this is unrelated to /proc/pid/exe).
     *   For example "echo" would match "/bin/echo".
     *
     * On Android S (12) and below, both this pattern and /proc/pid/cmdline get
     * normalized prior to an exact string comparison. Normalization is as
     * follows: (1) trim everything beyond the first null or "@" byte; (2) if
     * the string contains forward slashes, trim everything up to and including
     * the last one.
     *
     * Implementation note: in either case, at most 511 characters of cmdline
     * are considered.
     *
     * @generated from field: repeated string process_cmdline = 1;
     */
    processCmdline: string[];
    /**
     * For watermark based triggering or local debugging.
     *
     * @generated from field: repeated uint64 pid = 2;
     */
    pid: bigint[];
    /**
     * Only profile target if it was installed by one of the packages given.
     * Special values are:
     * * @system: installed on the system partition
     * * @product: installed on the product partition
     * * @null: sideloaded
     * Supported on Android 12+.
     *
     * @generated from field: repeated string target_installed_by = 7;
     */
    targetInstalledBy: string[];
    /**
     * Dump at a predefined interval.
     *
     * @generated from field: optional perfetto.protos.JavaHprofConfig.ContinuousDumpConfig continuous_dump_config = 3;
     */
    continuousDumpConfig?: JavaHprofConfig_ContinuousDumpConfig;
    /**
     * Do not profile processes whose anon RSS + swap < given value.
     *
     * @generated from field: optional uint32 min_anonymous_memory_kb = 4;
     */
    minAnonymousMemoryKb: number;
    /**
     * Include the process' /proc/self/smaps.
     * This only shows maps that:
     * * start with /system
     * * start with /vendor
     * * start with /data/app
     * * contain "extracted in memory from Y", where Y matches any of the above
     *
     * @generated from field: optional bool dump_smaps = 5;
     */
    dumpSmaps: boolean;
    /**
     * Exclude objects of the following types from the profile. This can be
     * useful if lots of uninteresting objects, e.g. "sun.misc.Cleaner".
     *
     * @generated from field: repeated string ignored_types = 6;
     */
    ignoredTypes: string[];
};
/**
 * Describes the message perfetto.protos.JavaHprofConfig.
 * Use `create(JavaHprofConfigSchema)` to create a new message.
 */
export declare const JavaHprofConfigSchema: GenMessage<JavaHprofConfig>;
/**
 * If dump_interval_ms != 0, the following configuration is used.
 *
 * @generated from message perfetto.protos.JavaHprofConfig.ContinuousDumpConfig
 */
export type JavaHprofConfig_ContinuousDumpConfig = Message<"perfetto.protos.JavaHprofConfig.ContinuousDumpConfig"> & {
    /**
     * ms to wait before first continuous dump.
     * A dump is always created at the beginning of the trace.
     *
     * @generated from field: optional uint32 dump_phase_ms = 1;
     */
    dumpPhaseMs: number;
    /**
     * ms to wait between following dumps.
     *
     * @generated from field: optional uint32 dump_interval_ms = 2;
     */
    dumpIntervalMs: number;
    /**
     * If true, scans all the processes to find `process_cmdline` and filter by
     * `min_anonymous_memory_kb` only at data source start. Default on Android
     * S-.
     *
     * If false, rescans all the processes to find on every dump. Default on
     * Android T+.
     *
     * @generated from field: optional bool scan_pids_only_on_start = 3;
     */
    scanPidsOnlyOnStart: boolean;
};
/**
 * Describes the message perfetto.protos.JavaHprofConfig.ContinuousDumpConfig.
 * Use `create(JavaHprofConfig_ContinuousDumpConfigSchema)` to create a new message.
 */
export declare const JavaHprofConfig_ContinuousDumpConfigSchema: GenMessage<JavaHprofConfig_ContinuousDumpConfig>;
//# sourceMappingURL=java_hprof_config_pb.d.ts.map