import * as z from "zod";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import * as components from "../components/index.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
export type ListVideosGlobals = {
    /**
     * The cloud name of your product environment.
     */
    cloudName?: string | undefined;
};
/**
 * The delivery type. Necessary for prefix filtering.
 */
export declare const ListVideosType: {
    readonly Upload: "upload";
    readonly Private: "private";
    readonly Authenticated: "authenticated";
    readonly Fetch: "fetch";
    readonly List: "list";
};
/**
 * The delivery type. Necessary for prefix filtering.
 */
export type ListVideosType = ClosedEnum<typeof ListVideosType>;
export type ListVideosRequest = {
    /**
     * The delivery type. Necessary for prefix filtering.
     */
    type?: ListVideosType | undefined;
    /**
     * A public_id prefix. When specified, all assets with that prefix are returned. When using this, the `type` parameter must also be specified.
     */
    prefix?: string | undefined;
    /**
     * An array of public IDs to return.
     */
    publicIds?: Array<string> | undefined;
    /**
     * Whether to include the list of tag names assigned to each asset. Default: false
     */
    tags?: boolean | undefined;
    /**
     * Cursor for pagination.
     */
    nextCursor?: string | undefined;
    /**
     * Maximum number of results to return (1-500).
     */
    maxResults?: number | undefined;
    /**
     * Sort direction.
     */
    direction?: components.Direction | undefined;
    /**
     * An ISO-8601 formatted timestamp. When specified, assets created since that timestamp are returned.  Supported only if neither `prefix` nor `public_ids` were passed.
     */
    startAt?: Date | undefined;
    fields?: Array<components.FieldsSpec> | undefined;
};
/** @internal */
export declare const ListVideosGlobals$inboundSchema: z.ZodType<ListVideosGlobals, z.ZodTypeDef, unknown>;
/** @internal */
export type ListVideosGlobals$Outbound = {
    cloud_name?: string | undefined;
};
/** @internal */
export declare const ListVideosGlobals$outboundSchema: z.ZodType<ListVideosGlobals$Outbound, z.ZodTypeDef, ListVideosGlobals>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ListVideosGlobals$ {
    /** @deprecated use `ListVideosGlobals$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ListVideosGlobals, z.ZodTypeDef, unknown>;
    /** @deprecated use `ListVideosGlobals$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ListVideosGlobals$Outbound, z.ZodTypeDef, ListVideosGlobals>;
    /** @deprecated use `ListVideosGlobals$Outbound` instead. */
    type Outbound = ListVideosGlobals$Outbound;
}
export declare function listVideosGlobalsToJSON(listVideosGlobals: ListVideosGlobals): string;
export declare function listVideosGlobalsFromJSON(jsonString: string): SafeParseResult<ListVideosGlobals, SDKValidationError>;
/** @internal */
export declare const ListVideosType$inboundSchema: z.ZodNativeEnum<typeof ListVideosType>;
/** @internal */
export declare const ListVideosType$outboundSchema: z.ZodNativeEnum<typeof ListVideosType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ListVideosType$ {
    /** @deprecated use `ListVideosType$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Upload: "upload";
        readonly Private: "private";
        readonly Authenticated: "authenticated";
        readonly Fetch: "fetch";
        readonly List: "list";
    }>;
    /** @deprecated use `ListVideosType$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Upload: "upload";
        readonly Private: "private";
        readonly Authenticated: "authenticated";
        readonly Fetch: "fetch";
        readonly List: "list";
    }>;
}
/** @internal */
export declare const ListVideosRequest$inboundSchema: z.ZodType<ListVideosRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type ListVideosRequest$Outbound = {
    type?: string | undefined;
    prefix?: string | undefined;
    public_ids?: Array<string> | undefined;
    tags?: boolean | undefined;
    next_cursor?: string | undefined;
    max_results?: number | undefined;
    direction?: string | undefined;
    start_at?: string | undefined;
    fields?: Array<string> | undefined;
};
/** @internal */
export declare const ListVideosRequest$outboundSchema: z.ZodType<ListVideosRequest$Outbound, z.ZodTypeDef, ListVideosRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ListVideosRequest$ {
    /** @deprecated use `ListVideosRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ListVideosRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `ListVideosRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ListVideosRequest$Outbound, z.ZodTypeDef, ListVideosRequest>;
    /** @deprecated use `ListVideosRequest$Outbound` instead. */
    type Outbound = ListVideosRequest$Outbound;
}
export declare function listVideosRequestToJSON(listVideosRequest: ListVideosRequest): string;
export declare function listVideosRequestFromJSON(jsonString: string): SafeParseResult<ListVideosRequest, SDKValidationError>;
//# sourceMappingURL=listvideos.d.ts.map