import _m0 from 'protobufjs/minimal'; import { Duration } from '../../../../google/protobuf/duration'; export declare const protobufPackage = "yandex.cloud.containerregistry.v1"; export interface ScanPolicy { /** Output only. ID of the scan policy. */ id: string; /** * ID of the registry that the scan policy belongs to. * Required. The maximum string length in characters is 50. */ registryId: string; /** Name of the scan policy. */ name: string; /** * Description of the scan policy. * The maximum string length in characters is 256. */ description: string; /** The rules of scan policy. */ rules?: ScanRules; /** Output only. Creation timestamp. */ createdAt?: Date; /** Turns off scan policy. */ disabled: boolean; } export interface ScanRules { /** Description of on-push scan rule. */ pushRule?: PushRule; /** Description of time based rescan rule. */ scheduleRules: ScheduledRule[]; } export interface PushRule { /** List of repositories that are scanned with rule. Child repositories are included into parent node. "*" - means all repositories in registry */ repositoryPrefixes: string[]; /** Turns off scan rule. */ disabled: boolean; } export interface ScheduledRule { /** List of repositories that are scanned with rule. Child repositories are included into parent node. "*" - means all repositories in registry */ repositoryPrefixes: string[]; /** Period of time since last scan to trigger automatic rescan. */ rescanPeriod?: Duration; /** Turns off scan rule. */ disabled: boolean; } export declare const ScanPolicy: { encode(message: ScanPolicy, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ScanPolicy; fromJSON(object: any): ScanPolicy; toJSON(message: ScanPolicy): unknown; fromPartial, never>) | undefined; disabled?: boolean | undefined; } & Record, never>) | undefined; scheduleRules?: ({ repositoryPrefixes?: string[] | undefined; rescanPeriod?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; disabled?: boolean | undefined; }[] & ({ repositoryPrefixes?: string[] | undefined; rescanPeriod?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; disabled?: boolean | undefined; } & { repositoryPrefixes?: (string[] & string[] & Record, never>) | undefined; rescanPeriod?: ({ seconds?: number | undefined; nanos?: number | undefined; } & { seconds?: number | undefined; nanos?: number | undefined; } & Record, never>) | undefined; disabled?: boolean | undefined; } & Record, never>)[] & Record, never>) | undefined; } & Record, never>) | undefined; createdAt?: Date | undefined; disabled?: boolean | undefined; } & Record, never>>(object: I): ScanPolicy; }; export declare const ScanRules: { encode(message: ScanRules, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ScanRules; fromJSON(object: any): ScanRules; toJSON(message: ScanRules): unknown; fromPartial, never>) | undefined; disabled?: boolean | undefined; } & Record, never>) | undefined; scheduleRules?: ({ repositoryPrefixes?: string[] | undefined; rescanPeriod?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; disabled?: boolean | undefined; }[] & ({ repositoryPrefixes?: string[] | undefined; rescanPeriod?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; disabled?: boolean | undefined; } & { repositoryPrefixes?: (string[] & string[] & Record, never>) | undefined; rescanPeriod?: ({ seconds?: number | undefined; nanos?: number | undefined; } & { seconds?: number | undefined; nanos?: number | undefined; } & Record, never>) | undefined; disabled?: boolean | undefined; } & Record, never>)[] & Record, never>) | undefined; } & Record, never>>(object: I): ScanRules; }; export declare const PushRule: { encode(message: PushRule, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): PushRule; fromJSON(object: any): PushRule; toJSON(message: PushRule): unknown; fromPartial, never>) | undefined; disabled?: boolean | undefined; } & Record, never>>(object: I): PushRule; }; export declare const ScheduledRule: { encode(message: ScheduledRule, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ScheduledRule; fromJSON(object: any): ScheduledRule; toJSON(message: ScheduledRule): unknown; fromPartial, never>) | undefined; rescanPeriod?: ({ seconds?: number | undefined; nanos?: number | undefined; } & { seconds?: number | undefined; nanos?: number | undefined; } & Record, never>) | undefined; disabled?: boolean | undefined; } & Record, never>>(object: I): ScheduledRule; }; 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 {} ? { [K in keyof T]?: DeepPartial; } : Partial; type KeysOfUnion = T extends T ? keyof T : never; export type Exact = P extends Builtin ? P : P & { [K in keyof P]: Exact; } & Record>, never>; export {};