import { type AdditionalDataHolder, type Guid, type Parsable, type ParseNode, type SerializationWriter } from '@microsoft/kiota-abstractions';
/**
 * Channel configuration for the SHIELD update service.
 */
export interface Channel extends AdditionalDataHolder, Parsable {
    /**
     * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
     */
    additionalData?: Record<string, unknown>;
    /**
     * Version number of the latest update available to the chanel.
     */
    latest?: string | null;
    /**
     * (Unique) Name of the update channel that this configuration belongs to.
     */
    name?: string | null;
    /**
     * Version number of the number that is being replaced via ring deployment, available to all rings at the minimum.
     */
    previous?: string | null;
}
/**
 * Object returning the value of the version of the latest application package available.
 */
export interface Check extends AdditionalDataHolder, Parsable {
    /**
     * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
     */
    additionalData?: Record<string, unknown>;
    /**
     * Latest found version of the application package.
     */
    updateVersion?: string | null;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Channel}
 */
export declare function createChannelFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Check}
 */
export declare function createCheckFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Tenant}
 */
export declare function createTenantFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoChannel(channel?: Partial<Channel> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoCheck(check?: Partial<Check> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoTenant(tenant?: Partial<Tenant> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeChannel(writer: SerializationWriter, channel?: Partial<Channel> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeCheck(writer: SerializationWriter, check?: Partial<Check> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeTenant(writer: SerializationWriter, tenant?: Partial<Tenant> | undefined | null): void;
/**
 * Object containing tenant update configuration.
 */
export interface Tenant extends AdditionalDataHolder, Parsable {
    /**
     * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
     */
    additionalData?: Record<string, unknown>;
    /**
     * Flag that indicates if the current tenant is allowed to request alpha builds (`true`) or not (`false`).
     */
    alphaEnabled?: boolean | null;
    /**
     * Name of the deploy channel.
     */
    channel?: string | null;
    /**
     * Ring number that the client is a member of for the current chanel.
     */
    ring?: number | null;
    /**
     * Tenant ID that the configuration belongs to.
     */
    tenantId?: Guid | null;
}
